@dxos/plugin-space 0.8.4-main.dedc0f3 → 0.8.4-main.e8ec1fe

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 (337) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-WTHWY4YS.mjs} +10 -10
  2. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
  6. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-AFC6PNAB.mjs → app-graph-builder-DTM7BJ6D.mjs} +107 -96
  10. package/dist/lib/browser/app-graph-builder-DTM7BJ6D.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-Q7QG4EKW.mjs → app-graph-serializer-TIKXF43P.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-TIKXF43P.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-AFUOMLX6.mjs +167 -0
  14. package/dist/lib/browser/chunk-AFUOMLX6.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-6GRF7NEF.mjs → chunk-CKACGS7T.mjs} +553 -475
  16. package/dist/lib/browser/chunk-CKACGS7T.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  18. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-S33AYKSS.mjs → chunk-KFUMADZF.mjs} +135 -62
  20. package/dist/lib/browser/chunk-KFUMADZF.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WZYRDFW7.mjs → chunk-VGKOXAPE.mjs} +26 -13
  22. package/dist/lib/browser/chunk-VGKOXAPE.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  24. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  26. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-URST7EEN.mjs → chunk-ZQMSGD5J.mjs} +35 -19
  28. package/dist/lib/browser/chunk-ZQMSGD5J.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +88 -70
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-CO262Q44.mjs → intent-resolver-3FNTO3VW.mjs} +89 -76
  34. package/dist/lib/browser/intent-resolver-3FNTO3VW.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-Q7VBWBES.mjs +30 -0
  37. package/dist/lib/browser/react-root-Q7VBWBES.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-TPUOK2LC.mjs → react-surface-TTHS332A.mjs} +71 -105
  39. package/dist/lib/browser/react-surface-TTHS332A.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-YDPFZELA.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
  41. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-ZYH2JWNI.mjs → settings-45PGPO2V.mjs} +5 -5
  43. package/dist/lib/browser/{settings-ZYH2JWNI.mjs.map → settings-45PGPO2V.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-3I5LISH4.mjs → spaces-ready-QCND4DVY.mjs} +15 -14
  45. package/dist/lib/browser/spaces-ready-QCND4DVY.mjs.map +7 -0
  46. package/dist/lib/browser/{state-2RGW7FQG.mjs → state-Q7YRE5KG.mjs} +7 -7
  47. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
  50. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-OW2EBYRI.mjs → app-graph-builder-FBJFWI4H.mjs} +107 -96
  58. package/dist/lib/node-esm/app-graph-builder-FBJFWI4H.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-6PGC5WR5.mjs → app-graph-serializer-BESQZAYU.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-BESQZAYU.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-RXDT5LA5.mjs → chunk-6VEONPNZ.mjs} +35 -19
  62. package/dist/lib/node-esm/chunk-6VEONPNZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs +168 -0
  64. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  66. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-TEUN2E4F.mjs → chunk-OK2L7N2F.mjs} +135 -62
  70. package/dist/lib/node-esm/chunk-OK2L7N2F.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-LGNPMOXU.mjs → chunk-QBRPYAEL.mjs} +26 -13
  72. package/dist/lib/node-esm/chunk-QBRPYAEL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-NMCD2PSG.mjs → chunk-XGAMJC5C.mjs} +553 -475
  74. package/dist/lib/node-esm/chunk-XGAMJC5C.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs → identity-created-OXLKCJE3.mjs} +5 -5
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +88 -70
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-EXPK4B76.mjs → intent-resolver-6O5FSB7Z.mjs} +89 -76
  82. package/dist/lib/node-esm/intent-resolver-6O5FSB7Z.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-4OQ7MPGW.mjs → react-root-K66W3FMA.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-K66W3FMA.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-WXEXIDB7.mjs → react-surface-Y7FTEIDF.mjs} +71 -105
  87. package/dist/lib/node-esm/react-surface-Y7FTEIDF.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
  89. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs → settings-6FO65BA6.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs.map → settings-6FO65BA6.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-JAP22P57.mjs → spaces-ready-P7CKVXBE.mjs} +15 -14
  93. package/dist/lib/node-esm/spaces-ready-P7CKVXBE.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-362I5BMK.mjs} +7 -7
  95. package/dist/lib/node-esm/state-362I5BMK.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts +6 -5
  101. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  108. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  109. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  110. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +120 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +3 -3
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  119. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  120. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  121. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  122. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  123. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  124. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1707 -0
  125. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  126. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  127. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  128. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  129. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  130. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  131. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  132. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  133. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  134. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  135. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  136. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  137. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  138. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  139. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1540 -0
  141. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  143. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  144. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  145. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  146. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  147. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  148. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +121 -2
  149. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  150. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  151. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  152. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  153. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  154. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  155. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +122 -3
  156. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  157. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  158. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  159. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  160. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  161. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  162. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  163. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  164. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +120 -1
  165. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  167. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +121 -2
  168. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  170. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  171. package/dist/types/src/components/index.d.ts +10 -17
  172. package/dist/types/src/components/index.d.ts.map +1 -1
  173. package/dist/types/src/events.d.ts.map +1 -1
  174. package/dist/types/src/helpers/index.d.ts +2 -0
  175. package/dist/types/src/helpers/index.d.ts.map +1 -0
  176. package/dist/types/src/helpers/query.d.ts +8 -0
  177. package/dist/types/src/helpers/query.d.ts.map +1 -0
  178. package/dist/types/src/helpers/query.test.d.ts +2 -0
  179. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  180. package/dist/types/src/hooks/index.d.ts +1 -0
  181. package/dist/types/src/hooks/index.d.ts.map +1 -1
  182. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  184. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  185. package/dist/types/src/hooks/usePath.d.ts +1 -1
  186. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  187. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  188. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  189. package/dist/types/src/index.d.ts +1 -0
  190. package/dist/types/src/index.d.ts.map +1 -1
  191. package/dist/types/src/meta.d.ts +0 -1
  192. package/dist/types/src/meta.d.ts.map +1 -1
  193. package/dist/types/src/translations.d.ts +120 -0
  194. package/dist/types/src/translations.d.ts.map +1 -1
  195. package/dist/types/src/types/types.d.ts +70 -55
  196. package/dist/types/src/types/types.d.ts.map +1 -1
  197. package/dist/types/src/util.d.ts +10 -7
  198. package/dist/types/src/util.d.ts.map +1 -1
  199. package/dist/types/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +65 -60
  201. package/src/SpacePlugin.ts +228 -200
  202. package/src/capabilities/app-graph-builder.ts +157 -121
  203. package/src/capabilities/app-graph-serializer.ts +12 -12
  204. package/src/capabilities/capabilities.ts +16 -11
  205. package/src/capabilities/identity-created.ts +2 -2
  206. package/src/capabilities/intent-resolver.ts +75 -59
  207. package/src/capabilities/react-root.tsx +4 -3
  208. package/src/capabilities/react-surface.tsx +65 -141
  209. package/src/capabilities/schema-defs.ts +1 -1
  210. package/src/capabilities/spaces-ready.ts +8 -5
  211. package/src/capabilities/state.ts +2 -2
  212. package/src/components/AwaitingObject.tsx +12 -14
  213. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  214. package/src/components/CollectionSection.tsx +8 -6
  215. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
  216. package/src/components/CreateDialog/CreateObjectDialog.tsx +36 -28
  217. package/src/components/CreateDialog/CreateObjectPanel.tsx +8 -8
  218. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  219. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  220. package/src/components/JoinDialog/index.ts +5 -0
  221. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
  222. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
  223. package/src/components/MembersContainer/index.ts +5 -0
  224. package/src/components/MenuFooter.tsx +2 -2
  225. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  226. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  227. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  228. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  229. package/src/components/ObjectRenamePopover/index.ts +5 -0
  230. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  231. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  232. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  233. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  234. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
  235. package/src/components/ObjectSettings/index.ts +3 -1
  236. package/src/components/RecordArticle.stories.tsx +115 -0
  237. package/src/components/RecordArticle.tsx +114 -0
  238. package/src/components/SchemaContainer.tsx +23 -26
  239. package/src/components/SpacePluginSettings.tsx +10 -4
  240. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
  241. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  242. package/src/components/SpacePresence/index.ts +5 -0
  243. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  244. package/src/components/SpaceRenamePopover/index.ts +5 -0
  245. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  246. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +44 -23
  247. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  248. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  249. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  250. package/src/components/ViewEditor.tsx +51 -18
  251. package/src/components/index.ts +7 -8
  252. package/src/events.ts +6 -6
  253. package/src/helpers/index.ts +5 -0
  254. package/src/helpers/query.test.ts +24 -0
  255. package/src/helpers/query.ts +158 -0
  256. package/src/hooks/index.ts +1 -0
  257. package/src/hooks/useActiveSpace.ts +2 -1
  258. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  259. package/src/hooks/usePath.ts +1 -1
  260. package/src/hooks/useTypeOptions.ts +59 -0
  261. package/src/index.ts +1 -0
  262. package/src/meta.ts +6 -3
  263. package/src/translations.ts +25 -10
  264. package/src/types/types.ts +33 -18
  265. package/src/util.tsx +141 -63
  266. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  267. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +0 -90
  268. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +0 -7
  269. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  270. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  271. package/dist/lib/browser/app-graph-builder-AFC6PNAB.mjs.map +0 -7
  272. package/dist/lib/browser/app-graph-serializer-Q7QG4EKW.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-6GRF7NEF.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  275. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  277. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  279. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-S33AYKSS.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  282. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-URST7EEN.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +0 -7
  285. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  286. package/dist/lib/browser/intent-resolver-CO262Q44.mjs.map +0 -7
  287. package/dist/lib/browser/react-root-K4IVLFYZ.mjs +0 -29
  288. package/dist/lib/browser/react-root-K4IVLFYZ.mjs.map +0 -7
  289. package/dist/lib/browser/react-surface-TPUOK2LC.mjs.map +0 -7
  290. package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
  291. package/dist/lib/browser/spaces-ready-3I5LISH4.mjs.map +0 -7
  292. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  293. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  294. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +0 -91
  295. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +0 -7
  296. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  297. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  298. package/dist/lib/node-esm/app-graph-builder-OW2EBYRI.mjs.map +0 -7
  299. package/dist/lib/node-esm/app-graph-serializer-6PGC5WR5.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  301. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  303. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  305. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-NMCD2PSG.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  309. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  310. package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +0 -7
  312. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  313. package/dist/lib/node-esm/intent-resolver-EXPK4B76.mjs.map +0 -7
  314. package/dist/lib/node-esm/react-root-4OQ7MPGW.mjs.map +0 -7
  315. package/dist/lib/node-esm/react-surface-WXEXIDB7.mjs.map +0 -7
  316. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
  317. package/dist/lib/node-esm/spaces-ready-JAP22P57.mjs.map +0 -7
  318. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  319. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  320. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  321. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  322. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  323. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  324. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  325. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  326. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  327. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  328. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  329. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  330. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  331. package/dist/types/src/components/RecordMain.d.ts +0 -7
  332. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  333. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  334. package/src/components/ObjectDetailsPanel.tsx +0 -79
  335. package/src/components/PersistenceStatus.tsx +0 -83
  336. package/src/components/RecordMain.tsx +0 -43
  337. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { pipe } from 'effect';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type QueryResult, type Space, SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType, typenameFromQuery } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const typename = typenameFromQuery(collection.query);\n return {\n icon: typename && resolve(typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst getViewGraphNodePartials = ({\n view,\n resolve,\n}: {\n view: DataType.View;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const presentation = view.presentation.target;\n const typename = presentation ? Obj.getTypename(presentation) : undefined;\n const metadata = typename ? resolve(typename) : {};\n\n return {\n label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],\n icon: metadata.icon,\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${SPACE_PLUGIN}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n role: 'branch',\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.StoredSchema, object)\n ? getSchemaGraphNodePartials()\n : Obj.instanceOf(DataType.View, object)\n ? getViewGraphNodePartials({ view: object, resolve })\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query))\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(DataType.StoredSchema, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection ? typenameFromQuery(queryCollection.query) : undefined,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable ||\n (!Obj.instanceOf(DataType.Collection, object) &&\n !Obj.instanceOf(DataType.QueryCollection, object) &&\n !Obj.instanceOf(DataType.StoredSchema, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Rx", "pipe", "LayoutAction", "chain", "createIntent", "Obj", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "fullyQualifiedId", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "DataType", "typenameFromQuery", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "typename", "typenameFromQuery", "icon", "canDrop", "source", "isGraphNode", "item", "getTypename", "getSchemaGraphNodePartials", "getViewGraphNodePartials", "view", "presentation", "undefined", "metadata", "label", "default", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "StoredSchema", "RenameObject", "Error", "RemoveObjects", "staticRecords", "createObjectNode", "droppable", "QueryCollection", "View", "graphProps", "getLabel", "fullyQualifiedId", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
- }
@@ -1,20 +0,0 @@
1
- import {
2
- SPACE_PLUGIN
3
- } from "./chunk-FBCGT5YY.mjs";
4
-
5
- // src/capabilities/capabilities.ts
6
- import { defineCapability } from "@dxos/app-framework";
7
- (function(SpaceCapabilities2) {
8
- SpaceCapabilities2.State = defineCapability(`${SPACE_PLUGIN}/capability/state`);
9
- SpaceCapabilities2.MutableState = defineCapability(`${SPACE_PLUGIN}/capability/state`);
10
- SpaceCapabilities2.SettingsSection = defineCapability(`${SPACE_PLUGIN}/capability/settings-section`);
11
- SpaceCapabilities2.OnSpaceCreated = defineCapability(`${SPACE_PLUGIN}/capability/on-space-created`);
12
- SpaceCapabilities2.OnSchemaAdded = defineCapability(`${SPACE_PLUGIN}/capability/on-schema-added`);
13
- SpaceCapabilities2.ObjectForm = defineCapability(`${SPACE_PLUGIN}/capability/object-form`);
14
- })(SpaceCapabilities || (SpaceCapabilities = {}));
15
- var SpaceCapabilities;
16
-
17
- export {
18
- SpaceCapabilities
19
- };
20
- //# sourceMappingURL=chunk-TUQZO5P4.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\n\nimport { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type DataType } from '@dxos/schema';\nimport { type DeepReadonly, type Position } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type ObjectForm, type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${SPACE_PLUGIN}/capability/state`);\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = defineCapability<SettingsSection>(`${SPACE_PLUGIN}/capability/settings-section`);\n\n export type OnSpaceCreated = (params: { space: Space; rootCollection: DataType.Collection }) => AnyIntentChain;\n export const OnSpaceCreated = defineCapability<OnSpaceCreated>(`${SPACE_PLUGIN}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: { space: Space; schema: Schema.Schema.AnyNoContext }) => AnyIntentChain;\n export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${SPACE_PLUGIN}/capability/on-schema-added`);\n\n // TODO(burdon): Should this be view? Forms are UI concepts? (associated with a View/schema).\n export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);\n}\n"],
5
- "mappings": ";;;;;AAMA,SAA0CA,wBAAwB;UAQjDC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,YAAAA,mBAA+B;qBACtFC,eAAeF,iBAA8B,GAAGC,YAAAA,mBAA+B;qBAG/EE,kBAAkBH,iBAAkC,GAAGC,YAAAA,8BAA0C;qBAGjGG,iBAAiBJ,iBAAiC,GAAGC,YAAAA,8BAA0C;qBAG/FI,gBAAgBL,iBAAgC,GAAGC,YAAAA,6BAAyC;qBAG5FK,aAAaN,iBAAkC,GAAGC,YAAAA,yBAAqC;AACtG,GAfiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
6
- "names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "SPACE_PLUGIN", "MutableState", "SettingsSection", "OnSpaceCreated", "OnSchemaAdded", "ObjectForm"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Obj, Type } from '@dxos/echo';\nimport { type BaseObject, EchoSchema, StoredSchema, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { DataType, FieldSchema, TypenameAnnotationId } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\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\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Any = Type.Expando> {\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; space: Space; newId?: boolean }): Promise<T>;\n}\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\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 // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\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 class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\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 class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\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 class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\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 class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['unused-static'],\n }),\n ),\n });\n\n export class UseStaticSchema extends Schema.TaggedClass<UseStaticSchema>()(`${SPACE_ACTION}/use-static-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n typename: Schema.String,\n }),\n output: Schema.Struct({}),\n }) {}\n\n export class AddSchema extends Schema.TaggedClass<AddSchema>()(`${SPACE_ACTION}/add-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n // TODO(wittjosiah): Semantic version format.\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n object: StoredSchema,\n schema: Schema.instanceOf(EchoSchema),\n }),\n }) {}\n\n export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {\n input: Schema.Struct({\n view: DataType.View,\n fieldId: Schema.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: Schema.optional(\n Schema.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: Schema.Any,\n index: Schema.Number,\n }),\n ),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, DataType.Collection),\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 // 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 class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {\n input: Schema.Struct({\n space: SpaceSchema,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Expando,\n target: Type.Expando,\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 export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: DataType.Collection,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(DataType.Collection),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DataType.Collection,\n }),\n }) {}\n\n export const QueryCollectionForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.String.annotations({\n [TypenameAnnotationId]: ['object-form'],\n }),\n });\n\n export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(\n 'dxos.org/plugin/collection/action/create-query-collection',\n {\n input: QueryCollectionForm,\n output: Schema.Struct({\n // TODO(wittjosiah): Remove cast.\n object: EchoObjectSchema, // DataType.QueryCollection,\n }),\n },\n ) {}\n}\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Type", "EchoSchema", "StoredSchema", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "DataType", "FieldSchema", "TypenameAnnotationId", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Schema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "StoredSchemaForm", "typename", "TypenameAnnotationId", "UseStaticSchema", "AddSchema", "schema", "object", "StoredSchema", "EchoSchema", "DeleteField", "view", "DataType", "View", "fieldId", "deletionData", "field", "FieldSchema", "props", "index", "Number", "OpenCreateObject", "Union", "Collection", "views", "initialFormValues", "navigable", "onCreateObject", "AddObject", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "AddRelation", "source", "Expando", "fields", "Record", "key", "value", "relation", "DeletionData", "objects", "parentCollection", "indices", "nestedObjectsList", "wasActive", "RemoveObjects", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction", "QueryCollectionForm", "CreateQueryCollection"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { StoredSchema } from '@dxos/echo-schema';\nimport { type Resource } from '@dxos/react-ui';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from './meta';\n\n// TODO(burdon): Change to single Resource?\nexport const translations = [\n {\n 'en-US': {\n [DataType.Collection.typename]: {\n 'typename label': 'Collection',\n 'typename label_zero': 'Collections',\n 'typename label_one': 'Collection',\n 'typename label_other': 'Collections',\n 'object name placeholder': 'New collection',\n 'rename object label': 'Rename collection',\n 'delete object label': 'Delete collection',\n },\n [Type.getTypename(DataType.QueryCollection)]: {\n 'typename label': 'Smart Collection',\n 'typename label_zero': 'Smart Collections',\n 'typename label_one': 'Smart Collection',\n 'typename label_other': 'Smart Collections',\n 'object name placeholder': 'New smart collection',\n 'rename object label': 'Rename smart collection',\n 'delete object label': 'Delete smart collection',\n },\n [StoredSchema.typename]: {\n 'typename label': 'Record',\n 'typename label_zero': 'Records',\n 'typename label_one': 'Record',\n 'typename label_other': 'Records',\n 'object name placeholder': 'New record type',\n 'rename object label': 'Rename record type',\n 'delete object label': 'Delete record type',\n },\n [Type.getTypename(DataType.View)]: {\n 'typename label': 'View',\n 'typename label_zero': 'Views',\n 'typename label_one': 'View',\n 'typename label_other': 'Views',\n 'object name placeholder': 'New view',\n 'rename object label': 'Rename view',\n 'delete object label': 'Delete view',\n },\n [DataType.Event.typename]: {\n 'typename label': 'Event',\n 'typename label_zero': 'Events',\n 'typename label_one': 'Event',\n 'typename label_other': 'Events',\n 'object name placeholder': 'New event',\n },\n [DataType.Organization.typename]: {\n 'typename label': 'Organization',\n 'typename label_zero': 'Organizations',\n 'typename label_one': 'Organization',\n 'typename label_other': 'Organizations',\n 'object name placeholder': 'New organization',\n },\n [DataType.Person.typename]: {\n 'typename label': 'Person',\n 'typename label_zero': 'People',\n 'typename label_one': 'Person',\n 'typename label_other': 'People',\n 'object name placeholder': 'New person',\n },\n [Type.getTypename(DataType.Project)]: {\n 'typename label': 'Project',\n 'typename label_zero': 'Projects',\n 'typename label_one': 'Project',\n 'typename label_other': 'Projects',\n 'object name placeholder': 'New project',\n },\n [DataType.Task.typename]: {\n 'typename label': 'Task',\n 'typename label_zero': 'Tasks',\n 'typename label_one': 'Task',\n 'typename label_other': 'Tasks',\n 'object name placeholder': 'New task',\n },\n [meta.id]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Item name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object name placeholder': 'Object',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'space settings label': 'Spaces',\n 'space settings description':\n 'Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other items specific to that space.',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename item',\n 'duplicate object label': 'Duplicate item',\n 'delete collection label': 'Delete collection',\n 'delete object label': 'Delete item',\n 'collection deleted label': 'Collection deleted',\n 'object deleted label': 'Item deleted',\n 'objects deleted label': 'Items deleted',\n 'go to object label': 'Open item',\n 'found object label': 'Ready.',\n 'found object description': 'The requested item is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested item is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested item has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Item not available.',\n 'missing object description':\n 'The requested item has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'create object in smart collection label': 'Add to smart collection',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of items for the beta. This limit includes deleted items currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted items to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Details',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing items.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create {{object}}',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select item type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open settings',\n\n 'row details no selection label': 'No objects selected',\n 'companion selected objects label': 'Selected',\n 'field deleted label': 'Field deleted',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Record types',\n 'schema verbose label': 'Manage record types',\n 'schema description': 'You can manage all of the record types stored within this space here.',\n 'no schemas found message': 'No record types found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["Type", "StoredSchema", "DataType", "translations", "DataType", "Collection", "typename", "Type", "getTypename", "QueryCollection", "StoredSchema", "View", "Event", "Organization", "Person", "Project", "Task", "meta", "id"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/identity-created.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\n\nexport default async (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n await client.spaces.waitUntilReady();\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n // Create root collection structure.\n defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, { objects: [] }));\n if (Migrations.versionProperty) {\n defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AAEzB,IAAA,2BAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,SAASC,WAAWC,QAAQ,IAAIC,IAAIC,KAAKC,IAAID,KAAKJ,SAASC,YAAY;IAAEK,SAAS,CAAA;EAAG,CAAA,CAAA;AAC7G,MAAIC,WAAWC,iBAAiB;AAC9BX,iBAAaE,WAAWQ,WAAWC,eAAe,IAAID,WAAWE;EACnE;AAEA,SAAOC,YAAYC,aAAaC,MAAM,IAAA;AACxC;",
6
- "names": ["Capabilities", "contributes", "Obj", "Ref", "Migrations", "ClientCapabilities", "DataType", "context", "client", "getCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "DataType", "Collection", "typename", "Ref", "make", "Obj", "objects", "Migrations", "versionProperty", "targetVersion", "contributes", "Capabilities", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n contributes,\n createIntent,\n createResolver,\n} from '@dxos/app-framework';\nimport { Filter, Obj, Query, Ref, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { DataType, ProjectionModel, typenameFromQuery } from '@dxos/schema';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n type CreateObjectDialogProps,\n JOIN_DIALOG,\n type JoinDialogProps,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n} from '../components';\nimport { SpaceEvents } from '../events';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionAction, SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, cloneObject, getNestedObjects } from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Remove.\nconst SPACE_MAX_OBJECTS = 500;\n\ntype IntentResolverOptions = {\n context: PluginContext;\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default ({ context, observability, createInvitationUrl }: IntentResolverOptions) => {\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: SpaceAction.OpenCreateSpace,\n resolve: () => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_SPACE_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Create,\n resolve: async ({ name, hue, icon, edgeReplication }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const space = await client.spaces.create({ name, hue, icon });\n if (edgeReplication) {\n await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);\n }\n await space.waitUntilReady();\n\n // Create root collection.\n const collection = Obj.make(DataType.Collection, { objects: [] });\n space.properties[DataType.Collection.typename] = Ref.make(collection);\n\n // Set current migration version.\n if (Migrations.versionProperty) {\n space.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n // Create records smart collection.\n const records = Obj.make(DataType.QueryCollection, {\n query: Query.select(Filter.typename(DataType.StoredSchema.typename)).ast,\n });\n collection.objects.push(Ref.make(records));\n\n // Allow other plugins to add default content.\n await context.activatePromise(SpaceEvents.SpaceCreated);\n const onSpaceCreatedCallbacks = context.getCapabilities(SpaceCapabilities.OnSpaceCreated);\n const spaceCreatedIntents = onSpaceCreatedCallbacks.map((onSpaceCreated) =>\n onSpaceCreated({ space, rootCollection: collection }),\n );\n\n return {\n data: {\n id: space.id,\n subject: [space.id],\n space,\n },\n intents: [\n ...spaceCreatedIntents,\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.create',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Join,\n resolve: ({ invitationCode, onDone }) => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: invitationCode,\n onDone,\n } satisfies Partial<JoinDialogProps>,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.OpenMembers,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Share,\n resolve: ({ space, type, authMethod, multiUse, target }) => {\n const invitation = space.share({ type, authMethod, multiUse, target });\n return {\n data: invitation,\n intents: observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.share',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : [],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.GetShareLink,\n resolve: ({ space, target, copyToClipboard }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const invitation = yield* dispatch(\n createIntent(SpaceAction.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target,\n }),\n );\n\n // TODO(wittjosiah): Better api to for this.\n // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.\n const invitationCode = yield* Effect.tryPromise(\n () =>\n new Promise<string>((resolve) => {\n invitation.subscribe((invitation) => {\n if (invitation.state === Invitation.State.CONNECTING) {\n resolve(InvitationEncoder.encode(invitation));\n }\n });\n }),\n );\n const url = createInvitationUrl(invitationCode);\n if (copyToClipboard) {\n yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));\n }\n\n return { data: url };\n }),\n }),\n createResolver({\n intent: SpaceAction.Lock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = true;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.lock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Unlock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = false;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.unlock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Rename,\n resolve: ({ caller, space }) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_SPACE,\n options: {\n anchorId: `dxos.org/ui/${caller}/${space.id}`,\n props: space,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenSettings,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Open,\n resolve: async ({ space }) => {\n await space.open();\n },\n }),\n createResolver({\n intent: SpaceAction.Close,\n resolve: async ({ space }) => {\n await space.close();\n },\n }),\n createResolver({\n intent: SpaceAction.Migrate,\n resolve: async ({ space, version: targetVersion }) => {\n const state = context.getCapability(SpaceCapabilities.MutableState);\n\n if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n state.sdkMigrationRunning[space.id] = true;\n await space.internal.migrate();\n state.sdkMigrationRunning[space.id] = false;\n }\n const result = await Migrations.migrate(space, targetVersion);\n const version = Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined;\n return {\n data: result,\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.migrate',\n properties: {\n spaceId: space.id,\n targetVersion,\n version,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.UseStaticSchema,\n resolve: async ({ space, typename }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const schema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n invariant(schema, `Schema not found: ${typename}`);\n\n if (!space.properties.staticRecords) {\n space.properties.staticRecords = [];\n }\n\n if (!space.properties.staticRecords.includes(typename)) {\n space.properties.staticRecords.push(typename);\n }\n\n await context.activatePromise(SpaceEvents.SchemaAdded);\n const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);\n const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema }));\n\n return {\n data: {},\n intents: [\n ...schemaAddedIntents,\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.schema.use',\n properties: {\n spaceId: space.id,\n typename: Type.getTypename(schema),\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddSchema,\n resolve: async ({ space, name, typename, version, schema: schemaInput }) => {\n const [schema] = await space.db.schemaRegistry.register([schemaInput]);\n if (name) {\n schema.storedSchema.name = name;\n }\n if (typename) {\n schema.storedSchema.typename = typename;\n }\n if (version) {\n schema.storedSchema.version = version;\n }\n\n await context.activatePromise(SpaceEvents.SchemaAdded);\n const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);\n const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded) => onSchemaAdded({ space, schema }));\n\n return {\n data: {\n id: schema.id,\n object: schema.storedSchema,\n schema,\n },\n intents: [\n ...schemaAddedIntents,\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.schema.add',\n properties: {\n spaceId: space.id,\n objectId: schema.id,\n typename: schema.typename,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.DeleteField,\n resolve: async ({ view, fieldId, deletionData }, undo) => {\n const space = getSpace(view);\n invariant(space);\n const typename = typenameFromQuery(view.query);\n invariant(typename);\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n invariant(schema);\n const projection = new ProjectionModel(schema.jsonSchema, view.projection);\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['field deleted label', { ns: SPACE_PLUGIN }],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n },\n }),\n createResolver({\n intent: SpaceAction.OpenCreateObject,\n resolve: ({ target, views, typename, initialFormValues, navigable = true, onCreateObject }) => {\n const state = context.getCapability(SpaceCapabilities.State);\n\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_OBJECT_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n target,\n views,\n typename,\n initialFormValues,\n onCreateObject,\n shouldNavigate: navigable\n ? (object: Obj.Any) => {\n const isCollection = Obj.instanceOf(DataType.Collection, object);\n const isQueryCollection = Obj.instanceOf(DataType.QueryCollection, object);\n return (!isCollection && !isQueryCollection) || state.navigableCollections;\n }\n : () => false,\n } satisfies Partial<CreateObjectDialogProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddObject,\n resolve: async ({ target, object, hidden }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n if (space.db.coreDatabase.getAllObjectIds().length >= SPACE_MAX_OBJECTS) {\n return {\n error: new Error('Space limit reached.'),\n intents: [\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SPACE_PLUGIN}/space-limit`,\n title: ['space limit label', { ns: SPACE_PLUGIN }],\n description: ['space limit description', { ns: SPACE_PLUGIN }],\n duration: 5_000,\n icon: 'ph--warning--regular',\n actionLabel: ['remove deleted objects label', { ns: SPACE_PLUGIN }],\n actionAlt: ['remove deleted objects alt', { ns: SPACE_PLUGIN }],\n closeLabel: ['close label', { ns: 'os' }],\n onAction: () => space.db.coreDatabase.unlinkDeletedObjects(),\n },\n }),\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.limit',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n }\n\n if (Obj.instanceOf(DataType.Collection, target)) {\n target.objects.push(Ref.make(object));\n } else if (isSpace(target) && hidden) {\n space.db.add(object);\n } else if (isSpace(target)) {\n const collection = space.properties[DataType.Collection.typename]?.target;\n if (Obj.instanceOf(DataType.Collection, collection)) {\n collection.objects.push(Ref.make(object));\n } else {\n // TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.\n const collection = Obj.make(DataType.Collection, { objects: [Ref.make(object)] });\n space.properties[DataType.Collection.typename] = Ref.make(collection);\n }\n }\n\n return {\n data: {\n id: fullyQualifiedId(object),\n subject: [fullyQualifiedId(object)],\n object,\n },\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: space.id,\n objectId: object.id,\n typename: Obj.getTypename(object),\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddRelation,\n resolve: ({ space, schema, source, target, fields }) => {\n const relation = space.db.add(\n Relation.make(schema, {\n [Relation.Source]: source,\n [Relation.Target]: target,\n ...fields,\n }),\n );\n\n return {\n data: {\n relation,\n },\n };\n },\n }),\n createResolver({\n intent: SpaceAction.RemoveObjects,\n resolve: async ({ objects, target, deletionData }, undo) => {\n const layout = context.getCapability(Capabilities.Layout);\n\n // All objects must be a member of the same space.\n const space = getSpace(objects[0]);\n invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space));\n const openObjectIds = new Set<string>(layout.active);\n\n if (!undo) {\n const parentCollection: DataType.Collection =\n target ?? space.properties[DataType.Collection.typename]?.target;\n const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));\n\n const deletionData = {\n objects,\n parentCollection,\n indices: objects.map((obj) =>\n Obj.instanceOf(DataType.Collection, parentCollection)\n ? parentCollection.objects.findIndex((object) => object.target === obj)\n : -1,\n ),\n nestedObjectsList,\n wasActive: objects\n .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])\n .map((obj) => fullyQualifiedId(obj))\n .filter((id) => openObjectIds.has(id)),\n } satisfies SpaceAction.DeletionData;\n\n if (Obj.instanceOf(DataType.Collection, deletionData.parentCollection)) {\n [...deletionData.indices]\n .sort((a, b) => b - a)\n .forEach((index: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 1);\n }\n });\n }\n\n deletionData.nestedObjectsList.flat().forEach((obj) => {\n space.db.remove(obj);\n });\n objects.forEach((obj) => space.db.remove(obj));\n\n const undoMessageKey = objects.some((obj) => Obj.instanceOf(DataType.Collection, obj))\n ? 'collection deleted label'\n : objects.length > 1\n ? 'objects deleted label'\n : 'object deleted label';\n\n return {\n undoable: {\n // TODO(ZaymonFC): Pluralize if more than one object.\n message: [undoMessageKey, { ns: SPACE_PLUGIN }],\n data: { deletionData },\n },\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: deletionData.wasActive,\n options: { state: false },\n }),\n ]\n : undefined,\n };\n } else {\n if (\n deletionData?.objects?.length &&\n deletionData.objects.every(Obj.isObject) &&\n Obj.instanceOf(DataType.Collection, deletionData.parentCollection)\n ) {\n // Restore the object to the space.\n const restoredObjects = deletionData.objects.map((obj: Type.Expando) => space.db.add(obj));\n\n // Restore nested objects to the space.\n deletionData.nestedObjectsList.flat().forEach((obj: Type.Expando) => {\n space.db.add(obj);\n });\n\n deletionData.indices.forEach((index: number, i: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 0, Ref.make(restoredObjects[i] as Type.Expando));\n }\n });\n\n return {\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: deletionData.wasActive,\n }),\n ]\n : undefined,\n };\n }\n }\n },\n }),\n createResolver({\n intent: SpaceAction.RenameObject,\n resolve: async ({ object, caller }) => ({\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_OBJECT,\n options: {\n anchorId: `dxos.org/ui/${caller}/${fullyQualifiedId(object)}`,\n props: object,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.DuplicateObject,\n resolve: async ({ object, target }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n const newObject = await cloneObject(object, resolve, space);\n return {\n intents: [createIntent(SpaceAction.AddObject, { object: newObject, target })],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.WaitForObject,\n resolve: async ({ id }) => {\n const state = context.getCapability(SpaceCapabilities.MutableState);\n state.awaiting = id;\n },\n }),\n createResolver({\n intent: CollectionAction.Create,\n resolve: async ({ name }) => ({\n data: { object: Obj.make(DataType.Collection, { name, objects: [] }) },\n }),\n }),\n createResolver({\n intent: CollectionAction.CreateQueryCollection,\n resolve: async ({ name, typename }) => ({\n data: {\n object: Obj.make(DataType.QueryCollection, { name, query: Query.select(Filter.typename(typename)).ast }),\n },\n }),\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capabilities", "LayoutAction", "contributes", "createIntent", "createResolver", "Filter", "Obj", "Query", "Ref", "Relation", "Type", "invariant", "Migrations", "ClientCapabilities", "ObservabilityAction", "EdgeReplicationSetting", "SpaceState", "fullyQualifiedId", "getSpace", "isSpace", "Invitation", "InvitationEncoder", "ATTENDABLE_PATH_SEPARATOR", "DataType", "ProjectionModel", "typenameFromQuery", "SPACE_MAX_OBJECTS", "context", "observability", "createInvitationUrl", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "IntentResolver", "createResolver", "intent", "SpaceAction", "OpenCreateSpace", "intents", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "CREATE_SPACE_DIALOG", "options", "blockAlign", "Create", "name", "hue", "icon", "edgeReplication", "client", "getCapability", "ClientCapabilities", "Client", "space", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "Obj", "make", "DataType", "Collection", "objects", "properties", "Ref", "Migrations", "versionProperty", "targetVersion", "records", "QueryCollection", "query", "Query", "select", "Filter", "StoredSchema", "ast", "push", "activatePromise", "SpaceEvents", "SpaceCreated", "onSpaceCreatedCallbacks", "SpaceCapabilities", "OnSpaceCreated", "spaceCreatedIntents", "map", "onSpaceCreated", "rootCollection", "data", "ObservabilityAction", "SendEvent", "spaceId", "Join", "invitationCode", "onDone", "JOIN_DIALOG", "props", "initialInvitationCode", "OpenMembers", "Open", "ATTENDABLE_PATH_SEPARATOR", "workspace", "Share", "type", "authMethod", "multiUse", "target", "invitation", "share", "GetShareLink", "copyToClipboard", "Effect", "gen", "dispatch", "IntentDispatcher", "Invitation", "Type", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "Promise", "subscribe", "state", "State", "CONNECTING", "InvitationEncoder", "encode", "url", "navigator", "clipboard", "writeText", "Lock", "COMPOSER_SPACE_LOCK", "Unlock", "Rename", "caller", "UpdatePopover", "POPOVER_RENAME_SPACE", "anchorId", "OpenSettings", "open", "Close", "close", "Migrate", "version", "MutableState", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "result", "undefined", "UseStaticSchema", "schema", "graph", "schemaRegistry", "schemas", "getTypename", "invariant", "staticRecords", "includes", "SchemaAdded", "onSchemaAdded", "OnSchemaAdded", "schemaAddedIntents", "AddSchema", "schemaInput", "db", "register", "storedSchema", "object", "objectId", "DeleteField", "view", "fieldId", "deletionData", "undo", "getSpace", "typenameFromQuery", "firstOrUndefined", "projection", "ProjectionModel", "jsonSchema", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "SPACE_PLUGIN", "field", "setFieldProjection", "OpenCreateObject", "views", "initialFormValues", "navigable", "onCreateObject", "CREATE_OBJECT_DIALOG", "shouldNavigate", "isCollection", "instanceOf", "isQueryCollection", "navigableCollections", "AddObject", "hidden", "isSpace", "coreDatabase", "getAllObjectIds", "length", "error", "Error", "AddToast", "title", "description", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "unlinkDeletedObjects", "add", "fullyQualifiedId", "AddRelation", "source", "fields", "relation", "Relation", "Source", "Target", "RemoveObjects", "layout", "Layout", "every", "obj", "isObject", "openObjectIds", "Set", "active", "parentCollection", "nestedObjectsList", "all", "getNestedObjects", "indices", "findIndex", "wasActive", "flatMap", "i", "filter", "has", "sort", "a", "b", "forEach", "splice", "flat", "remove", "undoMessageKey", "some", "restoredObjects", "RenameObject", "POPOVER_RENAME_OBJECT", "DuplicateObject", "newObject", "cloneObject", "WaitForObject", "awaiting", "CollectionAction", "CreateQueryCollection"]
7
- }
@@ -1,29 +0,0 @@
1
- import {
2
- AwaitingObject
3
- } from "./chunk-6GRF7NEF.mjs";
4
- import "./chunk-ELJDGQTO.mjs";
5
- import {
6
- SpaceCapabilities
7
- } from "./chunk-TUQZO5P4.mjs";
8
- import "./chunk-S33AYKSS.mjs";
9
- import "./chunk-URST7EEN.mjs";
10
- import {
11
- SPACE_PLUGIN
12
- } from "./chunk-FBCGT5YY.mjs";
13
-
14
- // src/capabilities/react-root.tsx
15
- import React from "react";
16
- import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
17
- var react_root_default = () => contributes(Capabilities.ReactRoot, {
18
- id: SPACE_PLUGIN,
19
- root: () => {
20
- const state = useCapability(SpaceCapabilities.State);
21
- return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
22
- id: state.awaiting
23
- }) : null;
24
- }
25
- });
26
- export {
27
- react_root_default as default
28
- };
29
- //# sourceMappingURL=react-root-K4IVLFYZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-root.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\n\nimport { AwaitingObject } from '../components';\nimport { SPACE_PLUGIN } from '../meta';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactRoot, {\n id: SPACE_PLUGIN,\n root: () => {\n const state = useCapability(SpaceCapabilities.State);\n return state.awaiting ? <AwaitingObject id={state.awaiting} /> : null;\n },\n });\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AAOzD,IAAA,qBAAe,MACbC,YAAYC,aAAaC,WAAW;EAClCC,IAAIC;EACJC,MAAM,MAAA;AACJ,UAAMC,QAAQC,cAAcC,kBAAkBC,KAAK;AACnD,WAAOH,MAAMI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,MAAMI;SAAe;EACnE;AACF,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactRoot", "id", "SPACE_PLUGIN", "root", "state", "useCapability", "SpaceCapabilities", "State", "awaiting", "AwaitingObject"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n Surface,\n contributes,\n createSurface,\n useCapabilities,\n useCapability,\n useLayout,\n} from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport {\n type Space,\n SpaceState,\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n useSpace,\n} from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CollectionMain,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n RecordMain,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, Type.getTypename(DataType.QueryCollection)];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordMain record={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const { t } = useTranslation();\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename) && !typename.endsWith('View')),\n ),\n [objectForms],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) => {\n const limitedStatic =\n annotation.includes('limited-static') && whitelistedTypenames.has(Type.getTypename(schema));\n const unusedStatic =\n annotation.includes('unused-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n !space.properties.staticRecords?.includes(Type.getTypename(schema));\n const usedStatic =\n annotation.includes('used-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n space.properties.staticRecords?.includes(Type.getTypename(schema));\n const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));\n return annotation.includes('static') || limitedStatic || unusedStatic || usedStatic || objectForm;\n });\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...(annotation.includes('limited-static') ||\n annotation.includes('unused-static') ||\n annotation.includes('used-static') ||\n annotation.includes('static') ||\n annotation.includes('object-form')\n ? fixed.map((schema) => Type.getTypename(schema))\n : []),\n ...(annotation.includes('dynamic') ? dynamic.map((schema) => schema.typename) : []),\n ]),\n ).sort();\n\n const options = useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useMemo", "Capabilities", "Surface", "contributes", "createSurface", "useCapabilities", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "ClientCapabilities", "useClient", "SpaceState", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "useSpace", "Input", "useTranslation", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "Type", "getTypename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "isObject", "RecordMain", "record", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "t", "useTranslation", "client", "useClient", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "includes", "endsWith", "fixed", "graph", "schemaRegistry", "schemas", "limitedStatic", "has", "unusedStatic", "staticRecords", "usedStatic", "objectForm", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "options", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-defs.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { type ObjectForm } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const registry = context.getCapability(Capabilities.RxRegistry);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const cancel = registry.subscribe(\n context.capabilities(SpaceCapabilities.ObjectForm),\n (_forms) => {\n const forms = Array.from(new Set(_forms));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);\n previous = forms;\n client.addTypes(newSchemas);\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.Null, null, () => cancel());\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,0BAA0B;AAMnC,IAAA,sBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,mBAAmBC,MAAM;AAG9D,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaC,kBAAkBC,UAAU,GACjD,CAACC,WAAAA;AACC,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIJ,MAAAA,CAAAA;AAEjC,UAAMK,aAAaJ,MAAMK,OAAO,CAACC,SAAS,CAACb,SAASc,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGhB,eAAWO;AACXV,WAAOoB,SAASN,UAAAA;EAClB,GACA;IAAEO,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYxB,aAAayB,MAAM,MAAM,MAAMnB,OAAAA,CAAAA;AACpD;",
6
- "names": ["Capabilities", "contributes", "ClientCapabilities", "context", "registry", "getCapability", "Capabilities", "RxRegistry", "client", "ClientCapabilities", "Client", "previous", "cancel", "subscribe", "capabilities", "SpaceCapabilities", "ObjectForm", "_forms", "forms", "Array", "from", "Set", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "immediate", "contributes", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/spaces-ready.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Option } from 'effect';\n\nimport { Capabilities, LayoutAction, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { SubscriptionList } from '@dxos/async';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { PublicKey } from '@dxos/react-client';\nimport { FQ_ID_LENGTH, SpaceState, parseFullyQualifiedId } from '@dxos/react-client/echo';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 5_000;\n\nexport default async (context: PluginContext) => {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const layout = context.getCapability(Capabilities.Layout);\n const deck = context.getCapabilities(DeckCapabilities.DeckState)[0];\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const state = context.getCapability(SpaceCapabilities.MutableState);\n const client = context.getCapability(ClientCapabilities.Client);\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n if (deck?.activeDeck === 'default') {\n await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: defaultSpace.id }));\n }\n\n // Initialize space sharing lock in default space.\n if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {\n defaultSpace.properties[COMPOSER_SPACE_LOCK] = true;\n }\n\n const {\n objects: [spacesOrder],\n } = await defaultSpace.db.query(Filter.type(Type.Expando, { key: SHARED })).run();\n if (!spacesOrder) {\n // TODO(wittjosiah): Cannot be a Folder because Spaces are not TypedObjects so can't be saved in the database.\n // Instead, we store order as an array of space ids.\n defaultSpace.db.add(Obj.make(Type.Expando, { key: SHARED, order: [] }));\n }\n\n // Await missing objects.\n subscriptions.add(\n scheduledEffect(\n () => ({ active: layout.active }),\n ({ active }) => {\n if (active.length !== 1) {\n return;\n }\n\n const id = active[0];\n const node = graph.getNode(id).pipe(Option.getOrNull);\n if (!node && id.length === FQ_ID_LENGTH) {\n void graph.initialize(id);\n const timeout = setTimeout(async () => {\n const node = graph.getNode(id).pipe(Option.getOrNull);\n if (!node) {\n await dispatch(createIntent(SpaceAction.WaitForObject, { id }));\n }\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n return () => clearTimeout(timeout);\n }\n },\n ),\n );\n\n // Cache space names.\n subscriptions.add(\n client.spaces.subscribe(async (spaces) => {\n // TODO(wittjosiah): Remove. This is a hack to be able to migrate the default space properties.\n if (defaultSpace.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n await defaultSpace.internal.migrate();\n }\n\n spaces\n .filter((space) => space.state.get() === SpaceState.SPACE_READY)\n .forEach((space) => {\n subscriptions.add(\n scheduledEffect(\n () => ({ name: space.properties.name }),\n ({ name }) => (state.spaceNames[space.id] = name),\n ),\n );\n });\n }).unsubscribe,\n );\n\n // Broadcast active node to other peers in the space.\n subscriptions.add(\n scheduledEffect(\n () => ({ current: attention.current, active: layout.active, inactive: layout.inactive }),\n ({ current, active, inactive }) => {\n const send = () => {\n const spaces = client.spaces.get();\n const identity = client.halo.identity.get();\n if (identity) {\n // Group parts by space for efficient messaging.\n const idsBySpace = reduceGroupBy(active, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n const removedBySpace = reduceGroupBy(inactive, (id) => {\n try {\n const [spaceId] = parseFullyQualifiedId(id);\n return spaceId;\n } catch {\n return null;\n }\n });\n\n // NOTE: Ensure all spaces are included so that we send the correct `removed` object arrays.\n for (const space of spaces) {\n if (!idsBySpace.has(space.id)) {\n idsBySpace.set(space.id, []);\n }\n }\n\n for (const [spaceId, added] of idsBySpace) {\n const removed = removedBySpace.get(spaceId) ?? [];\n const space = spaces.find((space) => space.id === spaceId);\n if (!space) {\n continue;\n }\n\n void space\n .postMessage('viewing', {\n identityKey: identity.identityKey.toHex(),\n attended: current,\n added,\n removed,\n })\n // TODO(burdon): This seems defensive; why would this fail? Backoff interval.\n .catch((err) => {\n log.warn('Failed to broadcast active node for presence.', { err: err.message });\n });\n }\n }\n };\n\n send();\n // Send at interval to allow peers to expire entries if they become disconnected.\n const interval = setInterval(() => send(), ACTIVE_NODE_BROADCAST_INTERVAL);\n return () => clearInterval(interval);\n },\n ),\n );\n\n // Listen for active nodes from other peers in the space.\n subscriptions.add(\n client.spaces.subscribe((spaces) => {\n spaceSubscriptions.clear();\n spaces.forEach((space) => {\n spaceSubscriptions.add(\n space.listen('viewing', (message) => {\n const { added, removed, attended } = message.payload;\n\n const identityKey = PublicKey.safeFrom(message.payload.identityKey);\n const currentIdentity = client.halo.identity.get();\n if (\n identityKey &&\n !currentIdentity?.identityKey.equals(identityKey) &&\n Array.isArray(added) &&\n Array.isArray(removed)\n ) {\n added.forEach((id) => {\n if (typeof id === 'string') {\n if (!(id in state.viewersByObject)) {\n state.viewersByObject[id] = new ComplexMap(PublicKey.hash);\n }\n state.viewersByObject[id]!.set(identityKey, {\n lastSeen: Date.now(),\n currentlyAttended: new Set(attended).has(id),\n });\n if (!state.viewersByIdentity.has(identityKey)) {\n state.viewersByIdentity.set(identityKey, new Set());\n }\n state.viewersByIdentity.get(identityKey)!.add(id);\n }\n });\n\n removed.forEach((id) => {\n if (typeof id === 'string') {\n state.viewersByObject[id]?.delete(identityKey);\n state.viewersByIdentity.get(identityKey)?.delete(id);\n // It’s okay for these to be empty sets/maps, reduces churn.\n }\n });\n }\n }),\n );\n });\n }).unsubscribe,\n );\n\n // Enable edge replication for all spaces.\n try {\n await Promise.all(\n client.spaces.get().map((space) => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED)),\n );\n state.enabledEdgeReplication = true;\n } catch (err) {\n log.catch(err);\n }\n\n return contributes(Capabilities.Null, null, () => {\n spaceSubscriptions.clear();\n subscriptions.clear();\n });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Option", "Capabilities", "LayoutAction", "contributes", "createIntent", "SubscriptionList", "Filter", "Obj", "Type", "scheduledEffect", "log", "AttentionCapabilities", "ClientCapabilities", "DeckCapabilities", "EdgeReplicationSetting", "PublicKey", "FQ_ID_LENGTH", "SpaceState", "parseFullyQualifiedId", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "context", "subscriptions", "SubscriptionList", "spaceSubscriptions", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "graph", "AppGraph", "layout", "Layout", "deck", "getCapabilities", "DeckCapabilities", "DeckState", "attention", "AttentionCapabilities", "Attention", "state", "SpaceCapabilities", "MutableState", "client", "ClientCapabilities", "Client", "defaultSpace", "spaces", "default", "waitUntilReady", "activeDeck", "createIntent", "LayoutAction", "SwitchWorkspace", "part", "subject", "id", "properties", "COMPOSER_SPACE_LOCK", "objects", "spacesOrder", "db", "query", "Filter", "type", "Type", "Expando", "key", "SHARED", "run", "add", "Obj", "make", "order", "scheduledEffect", "active", "length", "node", "getNode", "pipe", "Option", "getOrNull", "FQ_ID_LENGTH", "initialize", "timeout", "setTimeout", "SpaceAction", "WaitForObject", "clearTimeout", "subscribe", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "internal", "migrate", "filter", "space", "SPACE_READY", "forEach", "name", "spaceNames", "unsubscribe", "current", "inactive", "send", "identity", "halo", "idsBySpace", "reduceGroupBy", "spaceId", "parseFullyQualifiedId", "removedBySpace", "has", "set", "added", "removed", "find", "postMessage", "identityKey", "toHex", "attended", "catch", "err", "log", "warn", "message", "interval", "setInterval", "clearInterval", "clear", "listen", "payload", "PublicKey", "safeFrom", "currentIdentity", "equals", "Array", "isArray", "viewersByObject", "ComplexMap", "hash", "lastSeen", "Date", "now", "currentlyAttended", "Set", "viewersByIdentity", "delete", "Promise", "all", "map", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "enabledEdgeReplication", "contributes", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { PublicKey } from '@dxos/keys';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { ComplexMap } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type PluginState } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<PluginState>(SPACE_PLUGIN, {\n awaiting: undefined,\n spaceNames: {},\n viewersByObject: {},\n // TODO(wittjosiah): Stop using (Complex)Map inside reactive object.\n viewersByIdentity: new ComplexMap(PublicKey.hash),\n sdkMigrationRunning: {},\n navigableCollections: false,\n enabledEdgeReplication: false,\n });\n\n state\n .prop({ key: 'spaceNames', type: LocalStorageStore.json<Record<string, string>>() })\n .prop({ key: 'enabledEdgeReplication', type: LocalStorageStore.bool() });\n\n const manager = context.getCapability(Capabilities.PluginManager);\n const unsubscribe = effect(() => {\n // TODO(wittjosiah): Find a way to make this capability-based.\n const enabled = manager.enabled.includes('dxos.org/plugin/stack');\n if (enabled !== state.values.navigableCollections) {\n state.values.navigableCollections = enabled;\n }\n });\n\n return contributes(SpaceCapabilities.State, state.values, () => {\n unsubscribe();\n state.close();\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,iBAAiB;AAC1B,SAASC,yBAAyB;AAClC,SAASC,kBAAkB;AAO3B,IAAA,gBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAA+BC,cAAc;IAC7DC,UAAUC;IACVC,YAAY,CAAC;IACbC,iBAAiB,CAAC;;IAElBC,mBAAmB,IAAIC,WAAWC,UAAUC,IAAI;IAChDC,qBAAqB,CAAC;IACtBC,sBAAsB;IACtBC,wBAAwB;EAC1B,CAAA;AAEAb,QACGc,KAAK;IAAEC,KAAK;IAAcC,MAAMf,kBAAkBgB,KAAI;EAA2B,CAAA,EACjFH,KAAK;IAAEC,KAAK;IAA0BC,MAAMf,kBAAkBiB,KAAI;EAAG,CAAA;AAExE,QAAMC,UAAUpB,QAAQqB,cAAcC,aAAaC,aAAa;AAChE,QAAMC,cAAcC,OAAO,MAAA;AAEzB,UAAMC,UAAUN,QAAQM,QAAQC,SAAS,uBAAA;AACzC,QAAID,YAAYzB,MAAM2B,OAAOf,sBAAsB;AACjDZ,YAAM2B,OAAOf,uBAAuBa;IACtC;EACF,CAAA;AAEA,SAAOG,YAAYC,kBAAkBC,OAAO9B,MAAM2B,QAAQ,MAAA;AACxDJ,gBAAAA;AACAvB,UAAM+B,MAAK;EACb,CAAA;AACF;",
6
- "names": ["effect", "Capabilities", "contributes", "PublicKey", "LocalStorageStore", "ComplexMap", "context", "state", "LocalStorageStore", "SPACE_PLUGIN", "awaiting", "undefined", "spaceNames", "viewersByObject", "viewersByIdentity", "ComplexMap", "PublicKey", "hash", "sdkMigrationRunning", "navigableCollections", "enabledEdgeReplication", "prop", "key", "type", "json", "bool", "manager", "getCapability", "Capabilities", "PluginManager", "unsubscribe", "effect", "enabled", "includes", "values", "contributes", "SpaceCapabilities", "State", "close"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CollectionMain.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { baseSurface, descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const CollectionMain = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n\n return (\n <div\n role='none'\n className={mx(baseSurface, 'min-bs-screen is-full flex items-center justify-center p-8')}\n data-testid='composer.firstRunMessage'\n >\n <p\n role='alert'\n className={mx(descriptionMessage, 'rounded-md p-8 font-normal text-lg max-is-[24rem] break-words')}\n >\n {collection.name ?? t('unnamed collection label')}\n </p>\n </div>\n );\n};\n\nexport default CollectionMain;\n"],
5
- "mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,aAAaC,oBAAoBC,UAAU;AAK7C,IAAMC,iBAAiB,CAAC,EAAEC,WAAU,MAAuC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,WACE,sBAAA,cAACC,OAAAA;MACCC,MAAK;MACLC,WAAWC,GAAGC,aAAa,4DAAA;MAC3BC,eAAY;OAEZ,sBAAA,cAACC,KAAAA;MACCL,MAAK;MACLC,WAAWC,GAAGI,oBAAoB,+DAAA;OAEjCX,WAAWY,QAAQX,EAAE,0BAAA,CAAA,CAAA;;;;AAI9B;AAEA,IAAA,yBAAeF;",
6
- "names": ["React", "useTranslation", "baseSurface", "descriptionMessage", "mx", "CollectionMain", "collection", "t", "useTranslation", "SPACE_PLUGIN", "div", "role", "className", "mx", "baseSurface", "data-testid", "p", "descriptionMessage", "name"]
7
- }