@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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 (273) hide show
  1. package/dist/lib/browser/app-graph-builder-7X3SIPCD.mjs +328 -0
  2. package/dist/lib/browser/app-graph-builder-7X3SIPCD.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-VRU57AEZ.mjs} +6 -6
  4. package/dist/lib/browser/app-graph-serializer-VRU57AEZ.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-43UQWMD3.mjs} +298 -504
  6. package/dist/lib/browser/chunk-43UQWMD3.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-AR5R2F6B.mjs +88 -0
  8. package/dist/lib/browser/chunk-AR5R2F6B.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-CY35NLWL.mjs +296 -0
  10. package/dist/lib/browser/chunk-CY35NLWL.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-IQFFOAWD.mjs} +24 -38
  12. package/dist/lib/browser/chunk-IQFFOAWD.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-UBSVH2NQ.mjs} +3 -4
  14. package/dist/lib/browser/chunk-UBSVH2NQ.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-ANRJHNMQ.mjs} +3 -3
  16. package/dist/lib/browser/identity-created-ANRJHNMQ.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +23 -19
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-KRINV5QI.mjs} +15 -33
  20. package/dist/lib/browser/intent-resolver-KRINV5QI.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-J3SP2HVW.mjs} +5 -4
  23. package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-J7T2IMH4.mjs} +5 -12
  24. package/dist/lib/browser/react-surface-J7T2IMH4.mjs.map +7 -0
  25. package/dist/lib/browser/schema-defs-OCBY7APN.mjs +26 -0
  26. package/dist/lib/browser/schema-defs-OCBY7APN.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  28. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  29. package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-G24447B7.mjs} +2 -2
  30. package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-5I3RKYTT.mjs} +16 -15
  31. package/dist/lib/browser/spaces-ready-5I3RKYTT.mjs.map +7 -0
  32. package/dist/lib/browser/{state-CYV6QCTN.mjs → state-SI4B5GHC.mjs} +2 -2
  33. package/dist/lib/browser/state-SI4B5GHC.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +1 -1
  35. package/dist/lib/node/app-graph-builder-C2ISDMSL.cjs +328 -0
  36. package/dist/lib/node/app-graph-builder-C2ISDMSL.cjs.map +7 -0
  37. package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-VLBCR3IX.cjs} +22 -22
  38. package/dist/lib/node/app-graph-serializer-VLBCR3IX.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-5YHUQJVB.cjs} +7 -8
  40. package/dist/lib/node/chunk-5YHUQJVB.cjs.map +7 -0
  41. package/dist/lib/node/chunk-DQN4ZQDW.cjs +119 -0
  42. package/dist/lib/node/chunk-DQN4ZQDW.cjs.map +7 -0
  43. package/dist/lib/node/chunk-K6ZO4WDJ.cjs +324 -0
  44. package/dist/lib/node/chunk-K6ZO4WDJ.cjs.map +7 -0
  45. package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-MXBE2VET.cjs} +338 -535
  46. package/dist/lib/node/chunk-MXBE2VET.cjs.map +7 -0
  47. package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-SCATWJKX.cjs} +46 -61
  48. package/dist/lib/node/chunk-SCATWJKX.cjs.map +7 -0
  49. package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-NIPYGVG3.cjs} +7 -7
  50. package/dist/lib/node/identity-created-NIPYGVG3.cjs.map +7 -0
  51. package/dist/lib/node/index.cjs +73 -70
  52. package/dist/lib/node/index.cjs.map +3 -3
  53. package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-MJVRY6YE.cjs} +63 -80
  54. package/dist/lib/node/intent-resolver-MJVRY6YE.cjs.map +7 -0
  55. package/dist/lib/node/meta.json +1 -1
  56. package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-M4BZ6VXB.cjs} +9 -8
  57. package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-M4BZ6VXB.cjs.map} +1 -1
  58. package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-RYKSYYKM.cjs} +42 -47
  59. package/dist/lib/node/react-surface-RYKSYYKM.cjs.map +7 -0
  60. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-2HJLXSNK.cjs} +13 -11
  61. package/dist/lib/node/schema-defs-2HJLXSNK.cjs.map +7 -0
  62. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  63. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  64. package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-AFWO4AWK.cjs} +6 -6
  65. package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-BMPXSFHF.cjs} +24 -23
  66. package/dist/lib/node/spaces-ready-BMPXSFHF.cjs.map +7 -0
  67. package/dist/lib/node/{state-JLN7TGRR.cjs → state-L2ZSDKLS.cjs} +5 -5
  68. package/dist/lib/node/state-L2ZSDKLS.cjs.map +7 -0
  69. package/dist/lib/node/types/index.cjs +15 -15
  70. package/dist/lib/node/types/index.cjs.map +1 -1
  71. package/dist/lib/node-esm/app-graph-builder-WVCQZ324.mjs +329 -0
  72. package/dist/lib/node-esm/app-graph-builder-WVCQZ324.mjs.map +7 -0
  73. package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-GEUYYXKD.mjs} +6 -6
  74. package/dist/lib/node-esm/app-graph-serializer-GEUYYXKD.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-5NIBYPVF.mjs} +3 -4
  76. package/dist/lib/node-esm/chunk-5NIBYPVF.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs +297 -0
  78. package/dist/lib/node-esm/chunk-CLRCW6PU.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-FI3WV22Y.mjs} +298 -504
  80. package/dist/lib/node-esm/chunk-FI3WV22Y.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HNKAG5CX.mjs +90 -0
  82. package/dist/lib/node-esm/chunk-HNKAG5CX.mjs.map +7 -0
  83. package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-S2W6HS4A.mjs} +24 -38
  84. package/dist/lib/node-esm/chunk-S2W6HS4A.mjs.map +7 -0
  85. package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-O5X2FFWU.mjs} +3 -3
  86. package/dist/lib/node-esm/identity-created-O5X2FFWU.mjs.map +7 -0
  87. package/dist/lib/node-esm/index.mjs +23 -19
  88. package/dist/lib/node-esm/index.mjs.map +3 -3
  89. package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-JT6EB47M.mjs} +15 -33
  90. package/dist/lib/node-esm/intent-resolver-JT6EB47M.mjs.map +7 -0
  91. package/dist/lib/node-esm/meta.json +1 -1
  92. package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-S2LW4FS7.mjs} +5 -4
  93. package/dist/lib/{browser/react-root-XKAUZ3X2.mjs.map → node-esm/react-root-S2LW4FS7.mjs.map} +1 -1
  94. package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-ZNNMO7QQ.mjs} +5 -12
  95. package/dist/lib/node-esm/react-surface-ZNNMO7QQ.mjs.map +7 -0
  96. package/dist/lib/node-esm/schema-defs-B74N3GQ5.mjs +27 -0
  97. package/dist/lib/node-esm/schema-defs-B74N3GQ5.mjs.map +7 -0
  98. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  99. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  100. package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-MJVSCOI4.mjs} +2 -2
  101. package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-XKG57SL5.mjs} +16 -15
  102. package/dist/lib/node-esm/spaces-ready-XKG57SL5.mjs.map +7 -0
  103. package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-QUDYGEU6.mjs} +2 -2
  104. package/dist/lib/node-esm/state-QUDYGEU6.mjs.map +7 -0
  105. package/dist/lib/node-esm/types/index.mjs +1 -1
  106. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
  110. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/identity-created.d.ts +2 -2
  112. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/index.d.ts +8 -184
  114. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  116. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
  119. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  121. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/spaces-ready.d.ts +2 -2
  123. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/state.d.ts +2 -2
  125. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  126. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  127. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  128. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  129. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  131. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  132. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  133. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  134. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  135. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  136. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  137. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  138. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  139. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  140. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  141. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  142. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  143. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  144. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  145. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  146. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  147. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  148. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  149. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  150. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  151. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  152. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  153. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  154. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  155. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  156. package/dist/types/src/components/index.d.ts +0 -1
  157. package/dist/types/src/components/index.d.ts.map +1 -1
  158. package/dist/types/src/hooks/index.d.ts +1 -0
  159. package/dist/types/src/hooks/index.d.ts.map +1 -1
  160. package/dist/types/src/hooks/useActiveSpace.d.ts +4 -0
  161. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -0
  162. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  163. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  164. package/dist/types/src/hooks/usePath.d.ts +3 -2
  165. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  166. package/dist/types/src/index.d.ts +1 -0
  167. package/dist/types/src/index.d.ts.map +1 -1
  168. package/dist/types/src/translations.d.ts +2 -263
  169. package/dist/types/src/translations.d.ts.map +1 -1
  170. package/dist/types/src/types/collection.d.ts +9 -8
  171. package/dist/types/src/types/collection.d.ts.map +1 -1
  172. package/dist/types/src/types/thread.d.ts +113 -242
  173. package/dist/types/src/types/thread.d.ts.map +1 -1
  174. package/dist/types/src/types/types.d.ts +145 -160
  175. package/dist/types/src/types/types.d.ts.map +1 -1
  176. package/dist/types/src/util.d.ts +10 -16
  177. package/dist/types/src/util.d.ts.map +1 -1
  178. package/dist/types/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +51 -45
  180. package/src/SpacePlugin.tsx +8 -7
  181. package/src/capabilities/app-graph-builder.ts +376 -268
  182. package/src/capabilities/app-graph-serializer.ts +4 -4
  183. package/src/capabilities/identity-created.ts +3 -3
  184. package/src/capabilities/index.ts +2 -2
  185. package/src/capabilities/intent-resolver.ts +9 -28
  186. package/src/capabilities/react-surface.tsx +15 -23
  187. package/src/capabilities/schema-defs.ts +30 -0
  188. package/src/capabilities/schema-tool.test.ts +2 -3
  189. package/src/capabilities/schema-tools.ts +25 -25
  190. package/src/capabilities/spaces-ready.ts +14 -12
  191. package/src/capabilities/state.ts +3 -3
  192. package/src/components/AwaitingObject.tsx +1 -1
  193. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
  194. package/src/components/CreateDialog/CreateObjectDialog.tsx +1 -1
  195. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  196. package/src/components/MembersContainer.stories.tsx +1 -5
  197. package/src/components/MenuFooter.tsx +2 -2
  198. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  199. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  200. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
  201. package/src/components/PersistenceStatus.tsx +11 -14
  202. package/src/components/SpacePresence.stories.tsx +1 -1
  203. package/src/components/SpacePresence.tsx +34 -43
  204. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  205. package/src/components/SyncStatus/InlineSyncStatus.tsx +10 -17
  206. package/src/components/index.ts +0 -1
  207. package/src/hooks/index.ts +1 -0
  208. package/src/hooks/useActiveSpace.ts +20 -0
  209. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  210. package/src/hooks/usePath.ts +9 -6
  211. package/src/index.ts +1 -0
  212. package/src/translations.ts +1 -2
  213. package/src/types/collection.ts +6 -4
  214. package/src/types/thread.ts +14 -8
  215. package/src/types/types.ts +104 -112
  216. package/src/util.tsx +36 -73
  217. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs +0 -369
  218. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
  219. package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
  220. package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
  221. package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
  222. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
  223. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
  224. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
  225. package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
  226. package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
  227. package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
  228. package/dist/lib/browser/schema-FHTA26SW.mjs +0 -24
  229. package/dist/lib/browser/schema-FHTA26SW.mjs.map +0 -7
  230. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  231. package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
  232. package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
  233. package/dist/lib/node/app-graph-builder-LLIV422L.cjs +0 -371
  234. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
  235. package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
  236. package/dist/lib/node/chunk-EQ5BPSQ7.cjs +0 -334
  237. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
  238. package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
  239. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
  240. package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
  241. package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
  242. package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
  243. package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
  244. package/dist/lib/node/schema-PPJ5BZ3A.cjs.map +0 -7
  245. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  246. package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
  247. package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
  248. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs +0 -370
  249. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
  250. package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
  251. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
  252. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
  253. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
  254. package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
  256. package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
  257. package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
  258. package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
  259. package/dist/lib/node-esm/schema-OUZKVYM5.mjs +0 -25
  260. package/dist/lib/node-esm/schema-OUZKVYM5.mjs.map +0 -7
  261. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  262. package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
  263. package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
  264. package/dist/types/src/capabilities/schema.d.ts +0 -4
  265. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  266. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  267. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  268. package/src/capabilities/schema.ts +0 -27
  269. package/src/components/PopoverAddSpace.tsx +0 -52
  270. /package/dist/lib/{node-esm/react-root-ZBCJCEFS.mjs.map → browser/react-root-J3SP2HVW.mjs.map} +0 -0
  271. /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-G24447B7.mjs.map} +0 -0
  272. /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  273. /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
@@ -1,306 +0,0 @@
1
- import {
2
- SPACE_PLUGIN
3
- } from "./chunk-PTKYMZWO.mjs";
4
-
5
- // packages/plugins/plugin-space/src/types/collection.ts
6
- import { Expando, Ref, S, TypedObject } from "@dxos/echo-schema";
7
- var CollectionType = class extends TypedObject({
8
- typename: "dxos.org/type/Collection",
9
- version: "0.1.0"
10
- })({
11
- name: S.optional(S.String),
12
- objects: S.mutable(S.Array(Ref(Expando))),
13
- // Key is schema typename and value is reference to a view object of the associated schema.
14
- // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
15
- // This also leaves open a future where this key could be changed to allow for multiple stack views per section.
16
- // TODO(wittjosiah): Any way to make this more type safe?
17
- // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
18
- views: S.mutable(S.Record({
19
- key: S.String,
20
- value: Ref(Expando)
21
- }))
22
- }) {
23
- };
24
-
25
- // packages/plugins/plugin-space/src/types/thread.ts
26
- import { Expando as Expando2, Ref as Ref2, S as S2, TypedObject as TypedObject2 } from "@dxos/echo-schema";
27
- import { MessageType } from "@dxos/schema";
28
- var ThreadStatus = S2.Union(S2.Literal("staged"), S2.Literal("active"), S2.Literal("resolved"));
29
- var ThreadType = class extends TypedObject2({
30
- typename: "dxos.org/type/Thread",
31
- version: "0.1.0"
32
- })({
33
- name: S2.optional(S2.String),
34
- /** AM cursor-range: 'from:to'. */
35
- anchor: S2.optional(S2.String),
36
- status: S2.optional(ThreadStatus),
37
- messages: S2.mutable(S2.Array(Ref2(MessageType)))
38
- }) {
39
- };
40
- var ChannelType = class extends TypedObject2({
41
- typename: "dxos.org/type/Channel",
42
- version: "0.1.0"
43
- })({
44
- name: S2.optional(S2.String),
45
- queue: Ref2(Expando2)
46
- }) {
47
- };
48
-
49
- // packages/plugins/plugin-space/src/types/types.ts
50
- import { S as S3 } from "@dxos/echo-schema";
51
- import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
52
- import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
53
- var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
54
- var SPACE_TYPE = "dxos.org/type/Space";
55
- var SpaceSettingsSchema = S3.mutable(S3.Struct({
56
- /**
57
- * Show closed spaces.
58
- */
59
- showHidden: S3.Boolean
60
- }));
61
- var IconAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Icon");
62
- var HueAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Hue");
63
- var SpaceForm = S3.Struct({
64
- name: S3.optional(S3.String.annotations({
65
- title: "Name"
66
- })),
67
- icon: S3.optional(S3.String.annotations({
68
- title: "Icon",
69
- [IconAnnotationId]: true
70
- })),
71
- hue: S3.optional(S3.String.annotations({
72
- title: "Color",
73
- [HueAnnotationId]: true
74
- })),
75
- // TODO(wittjosiah): Make optional with default value.
76
- edgeReplication: S3.Boolean.annotations({
77
- title: "Enable EDGE Replication"
78
- })
79
- });
80
- var defineObjectForm = (form) => form;
81
- var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
82
- var SpaceAction;
83
- (function(SpaceAction2) {
84
- class OpenCreateSpace extends S3.TaggedClass()(`${SPACE_ACTION}/open-create-space`, {
85
- input: S3.Void,
86
- output: S3.Void
87
- }) {
88
- }
89
- SpaceAction2.OpenCreateSpace = OpenCreateSpace;
90
- class Create extends S3.TaggedClass()(`${SPACE_ACTION}/create`, {
91
- input: SpaceForm,
92
- output: S3.Struct({
93
- id: S3.String,
94
- subject: S3.Array(S3.String),
95
- space: SpaceSchema
96
- })
97
- }) {
98
- }
99
- SpaceAction2.Create = Create;
100
- class Join extends S3.TaggedClass()(`${SPACE_ACTION}/join`, {
101
- input: S3.Struct({
102
- invitationCode: S3.optional(S3.String),
103
- onDone: S3.optional(S3.Any)
104
- }),
105
- output: S3.Void
106
- }) {
107
- }
108
- SpaceAction2.Join = Join;
109
- class OpenMembers extends S3.TaggedClass()(`${SPACE_ACTION}/open-members`, {
110
- input: S3.Struct({
111
- space: SpaceSchema
112
- }),
113
- output: S3.Void
114
- }) {
115
- }
116
- SpaceAction2.OpenMembers = OpenMembers;
117
- class Share extends S3.TaggedClass()(`${SPACE_ACTION}/share`, {
118
- input: S3.Struct({
119
- space: SpaceSchema,
120
- type: S3.Enums(Invitation.Type),
121
- authMethod: S3.Enums(Invitation.AuthMethod),
122
- multiUse: S3.Boolean,
123
- target: S3.optional(S3.String)
124
- }),
125
- output: S3.instanceOf(CancellableInvitationObservable)
126
- }) {
127
- }
128
- SpaceAction2.Share = Share;
129
- class GetShareLink extends S3.TaggedClass()(`${SPACE_ACTION}/get-share-link`, {
130
- input: S3.Struct({
131
- space: SpaceSchema,
132
- target: S3.optional(S3.String),
133
- copyToClipboard: S3.optional(S3.Boolean)
134
- }),
135
- output: S3.String
136
- }) {
137
- }
138
- SpaceAction2.GetShareLink = GetShareLink;
139
- class Lock extends S3.TaggedClass()(`${SPACE_ACTION}/lock`, {
140
- input: S3.Struct({
141
- space: SpaceSchema
142
- }),
143
- output: S3.Void
144
- }) {
145
- }
146
- SpaceAction2.Lock = Lock;
147
- class Unlock extends S3.TaggedClass()(`${SPACE_ACTION}/unlock`, {
148
- input: S3.Struct({
149
- space: SpaceSchema
150
- }),
151
- output: S3.Void
152
- }) {
153
- }
154
- SpaceAction2.Unlock = Unlock;
155
- class Rename extends S3.TaggedClass()(`${SPACE_ACTION}/rename`, {
156
- input: S3.Struct({
157
- space: SpaceSchema,
158
- caller: S3.optional(S3.String)
159
- }),
160
- output: S3.Void
161
- }) {
162
- }
163
- SpaceAction2.Rename = Rename;
164
- class AddSpace extends S3.TaggedClass()(`${SPACE_ACTION}/add-space`, {
165
- input: S3.Void,
166
- output: S3.Void
167
- }) {
168
- }
169
- SpaceAction2.AddSpace = AddSpace;
170
- class AddSpaceMenuGroup extends S3.TaggedClass()(`${SPACE_ACTION}/add-space-menu-group`, {
171
- input: S3.Void,
172
- output: S3.Void
173
- }) {
174
- }
175
- SpaceAction2.AddSpaceMenuGroup = AddSpaceMenuGroup;
176
- class OpenSettings extends S3.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
177
- input: S3.Struct({
178
- space: SpaceSchema
179
- }),
180
- output: S3.Void
181
- }) {
182
- }
183
- SpaceAction2.OpenSettings = OpenSettings;
184
- class Open extends S3.TaggedClass()(`${SPACE_ACTION}/open`, {
185
- input: S3.Struct({
186
- space: SpaceSchema
187
- }),
188
- output: S3.Void
189
- }) {
190
- }
191
- SpaceAction2.Open = Open;
192
- class Close extends S3.TaggedClass()(`${SPACE_ACTION}/close`, {
193
- input: S3.Struct({
194
- space: SpaceSchema
195
- }),
196
- output: S3.Void
197
- }) {
198
- }
199
- SpaceAction2.Close = Close;
200
- class Migrate extends S3.TaggedClass()(`${SPACE_ACTION}/migrate`, {
201
- input: S3.Struct({
202
- space: SpaceSchema,
203
- version: S3.optional(S3.String)
204
- }),
205
- output: S3.Boolean
206
- }) {
207
- }
208
- SpaceAction2.Migrate = Migrate;
209
- class OpenCreateObject extends S3.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
210
- input: S3.Struct({
211
- target: S3.Union(SpaceSchema, CollectionType),
212
- navigable: S3.optional(S3.Boolean)
213
- }),
214
- output: S3.Void
215
- }) {
216
- }
217
- SpaceAction2.OpenCreateObject = OpenCreateObject;
218
- class AddObject extends S3.TaggedClass()(`${SPACE_ACTION}/add-object`, {
219
- input: S3.Struct({
220
- object: ReactiveObjectSchema,
221
- target: S3.Union(SpaceSchema, CollectionType),
222
- hidden: S3.optional(S3.Boolean)
223
- }),
224
- output: S3.Struct({
225
- id: S3.String,
226
- subject: S3.Array(S3.String),
227
- object: EchoObjectSchema
228
- })
229
- }) {
230
- }
231
- SpaceAction2.AddObject = AddObject;
232
- SpaceAction2.DeletionData = S3.Struct({
233
- objects: S3.Array(EchoObjectSchema),
234
- parentCollection: CollectionType,
235
- indices: S3.Array(S3.Number),
236
- nestedObjectsList: S3.Array(S3.Array(EchoObjectSchema)),
237
- wasActive: S3.Array(S3.String)
238
- });
239
- class RemoveObjects extends S3.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
240
- input: S3.Struct({
241
- objects: S3.Array(EchoObjectSchema),
242
- target: S3.optional(CollectionType),
243
- deletionData: S3.optional(SpaceAction2.DeletionData)
244
- }),
245
- output: S3.Void
246
- }) {
247
- }
248
- SpaceAction2.RemoveObjects = RemoveObjects;
249
- class RenameObject extends S3.TaggedClass()(`${SPACE_ACTION}/rename-object`, {
250
- input: S3.Struct({
251
- object: EchoObjectSchema,
252
- caller: S3.optional(S3.String)
253
- }),
254
- output: S3.Void
255
- }) {
256
- }
257
- SpaceAction2.RenameObject = RenameObject;
258
- class DuplicateObject extends S3.TaggedClass()(`${SPACE_ACTION}/duplicate-object`, {
259
- input: S3.Struct({
260
- object: EchoObjectSchema,
261
- target: S3.Union(SpaceSchema, CollectionType)
262
- }),
263
- output: S3.Void
264
- }) {
265
- }
266
- SpaceAction2.DuplicateObject = DuplicateObject;
267
- class WaitForObject extends S3.TaggedClass()(`${SPACE_ACTION}/wait-for-object`, {
268
- input: S3.Struct({
269
- id: S3.optional(S3.String)
270
- }),
271
- output: S3.Void
272
- }) {
273
- }
274
- SpaceAction2.WaitForObject = WaitForObject;
275
- })(SpaceAction || (SpaceAction = {}));
276
- var CollectionAction;
277
- (function(CollectionAction2) {
278
- class Create extends S3.TaggedClass()("dxos.org/plugin/collection/action/create", {
279
- input: S3.Struct({
280
- name: S3.optional(S3.String)
281
- }),
282
- output: S3.Struct({
283
- object: CollectionType
284
- })
285
- }) {
286
- }
287
- CollectionAction2.Create = Create;
288
- })(CollectionAction || (CollectionAction = {}));
289
-
290
- export {
291
- CollectionType,
292
- ThreadStatus,
293
- ThreadType,
294
- ChannelType,
295
- SPACE_DIRECTORY_HANDLE,
296
- SPACE_TYPE,
297
- SpaceSettingsSchema,
298
- IconAnnotationId,
299
- HueAnnotationId,
300
- SpaceForm,
301
- defineObjectForm,
302
- SPACE_ACTION,
303
- SpaceAction,
304
- CollectionAction
305
- };
306
- //# sourceMappingURL=chunk-O7WGQVLQ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/collection.ts", "../../../src/types/thread.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\nexport class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({\n name: S.optional(S.String),\n objects: S.mutable(S.Array(Ref(Expando))),\n // Key is schema typename and value is reference to a view object of the associated schema.\n // Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).\n // This also leaves open a future where this key could be changed to allow for multiple stack views per section.\n // TODO(wittjosiah): Any way to make this more type safe?\n // TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?\n views: S.mutable(S.Record({ key: S.String, value: Ref(Expando) })),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\nimport { MessageType } from '@dxos/schema';\n\n// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread\n// in order to avoid a circular dependency between threads and other objects that use threads.\n\nexport const ThreadStatus = S.Union(S.Literal('staged'), S.Literal('active'), S.Literal('resolved'));\n\nexport class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({\n name: S.optional(S.String),\n /** AM cursor-range: 'from:to'. */\n anchor: S.optional(S.String),\n status: S.optional(ThreadStatus),\n messages: S.mutable(S.Array(Ref(MessageType))),\n}) {}\n\nexport class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({\n name: S.optional(S.String),\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { S, type Expando, type BaseObject, 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 { type ComplexMap } from '@dxos/util';\n\nimport { CollectionType } from './collection';\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 = S.mutable(\n S.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: S.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = S.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 Expando = 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 = S.Struct({\n name: S.optional(S.String.annotations({ title: 'Name' })),\n icon: S.optional(S.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: S.optional(S.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to S.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: S.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 S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: S.Struct({\n id: S.String,\n subject: S.Array(S.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: S.Struct({\n invitationCode: S.optional(S.String),\n onDone: S.optional(S.Any),\n }),\n output: S.Void,\n }) {}\n\n export class OpenMembers extends S.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: S.Struct({\n space: SpaceSchema,\n type: S.Enums(Invitation.Type),\n authMethod: S.Enums(Invitation.AuthMethod),\n multiUse: S.Boolean,\n target: S.optional(S.String),\n }),\n output: S.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends S.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: S.Struct({\n space: SpaceSchema,\n target: S.optional(S.String),\n copyToClipboard: S.optional(S.Boolean),\n }),\n output: S.String,\n }) {}\n\n export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: S.Struct({\n space: SpaceSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {\n input: S.Void,\n output: S.Void,\n }) {}\n\n export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {\n input: S.Void,\n output: S.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 S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: S.Struct({ space: SpaceSchema }),\n output: S.Void,\n }) {}\n\n export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\n }) {}\n\n export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: S.Struct({\n space: SpaceSchema,\n version: S.optional(S.String),\n }),\n output: S.Boolean,\n }) {}\n\n export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: S.Struct({\n target: S.Union(SpaceSchema, CollectionType),\n navigable: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: S.Struct({\n object: ReactiveObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n hidden: S.optional(S.Boolean),\n }),\n output: S.Struct({\n id: S.String,\n subject: S.Array(S.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export const DeletionData = S.Struct({\n objects: S.Array(EchoObjectSchema),\n parentCollection: CollectionType,\n indices: S.Array(S.Number),\n nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),\n wasActive: S.Array(S.String),\n });\n\n export type DeletionData = S.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: S.Struct({\n objects: S.Array(EchoObjectSchema),\n target: S.optional(CollectionType),\n deletionData: S.optional(DeletionData),\n }),\n output: S.Void,\n }) {}\n\n export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n caller: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: S.Struct({\n object: EchoObjectSchema,\n target: S.Union(SpaceSchema, CollectionType),\n }),\n output: S.Void,\n }) {}\n\n export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: S.Struct({\n id: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: CollectionType,\n }),\n }) {}\n}\n"],
5
- "mappings": "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",
6
- "names": ["Expando", "Ref", "S", "TypedObject", "CollectionType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "objects", "mutable", "Array", "Ref", "Expando", "views", "Record", "key", "value", "Expando", "Ref", "S", "TypedObject", "MessageType", "ThreadStatus", "S", "Union", "Literal", "ThreadType", "TypedObject", "typename", "version", "name", "optional", "String", "anchor", "status", "messages", "mutable", "Array", "Ref", "MessageType", "ChannelType", "queue", "Expando", "S", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "S", "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", "AddSpace", "AddSpaceMenuGroup", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "Union", "CollectionType", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
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 { contributes, type PluginsContext, Capabilities } from '@dxos/app-framework';\nimport { live, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { CollectionType } from '../types';\n\nexport default async (context: PluginsContext) => {\n const client = context.requestCapability(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[CollectionType.typename] = makeRef(live(CollectionType, { objects: [], views: {} }));\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,aAAkCC,oBAAoB;AAC/D,SAASC,MAAMC,eAAe;AAC9B,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AAInC,IAAA,2BAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,eAAeC,QAAQ,IAAIC,QAAQC,KAAKH,gBAAgB;IAAEI,SAAS,CAAA;IAAIC,OAAO,CAAC;EAAE,CAAA,CAAA;AACzG,MAAIC,WAAWC,iBAAiB;AAC9BV,iBAAaE,WAAWO,WAAWC,eAAe,IAAID,WAAWE;EACnE;AAEA,SAAOC,YAAYC,aAAaC,MAAM,IAAA;AACxC;",
6
- "names": ["contributes", "Capabilities", "live", "makeRef", "Migrations", "ClientCapabilities", "context", "client", "requestCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "CollectionType", "typename", "makeRef", "live", "objects", "views", "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 contributes,\n createIntent,\n createResolver,\n LayoutAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { type Expando, getTypename, type HasId } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { live, makeRef, type Live } from '@dxos/live-object';\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 { isSpace, getSpace, SpaceState, fullyQualifiedId, isEchoObject } from '@dxos/react-client/echo';\nimport { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n type JoinDialogProps,\n POPOVER_RENAME_SPACE,\n CREATE_OBJECT_DIALOG,\n type CreateObjectDialogProps,\n POPOVER_RENAME_OBJECT,\n POPOVER_ADD_SPACE,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionAction, CollectionType, SpaceAction } from '../types';\nimport { cloneObject, COMPOSER_SPACE_LOCK, getNestedObjects } from '../util';\n\n// TODO(wittjosiah): Remove.\nconst SPACE_MAX_OBJECTS = 500;\n\ntype IntentResolverOptions = {\n context: PluginsContext;\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default ({ context, observability, createInvitationUrl }: IntentResolverOptions) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(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.requestCapability(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 const collection = live(CollectionType, { objects: [], views: {} });\n space.properties[CollectionType.typename] = makeRef(collection);\n\n if (Migrations.versionProperty) {\n space.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return {\n data: {\n id: space.id,\n subject: [space.id],\n space,\n },\n intents: [\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.requestCapability(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.AddSpace,\n resolve: () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_ADD_SPACE,\n options: {\n variant: 'react',\n anchorId: SpaceAction.AddSpace._tag,\n side: 'right',\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.requestCapability(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.OpenCreateObject,\n resolve: ({ target, navigable = true }) => {\n const state = context.requestCapability(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 shouldNavigate: navigable\n ? (object: Live<any>) => !(object instanceof CollectionType) || state.navigableCollections\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 (target instanceof CollectionType) {\n target.objects.push(makeRef(object as HasId));\n } else if (isSpace(target) && hidden) {\n space.db.add(object);\n } else if (isSpace(target)) {\n const collection = space.properties[CollectionType.typename]?.target;\n if (collection instanceof CollectionType) {\n collection.objects.push(makeRef(object as HasId));\n } else {\n // TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.\n const collection = live(CollectionType, { objects: [makeRef(object as HasId)], views: {} });\n space.properties[CollectionType.typename] = makeRef(collection);\n }\n }\n\n return {\n data: {\n id: fullyQualifiedId(object),\n subject: [fullyQualifiedId(object)],\n object: object as HasId,\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: getTypename(object),\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.RemoveObjects,\n resolve: async ({ objects, target, deletionData }, undo) => {\n const layout = context.requestCapability(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) => isEchoObject(obj) && getSpace(obj) === space));\n const openObjectIds = new Set<string>(layout.active);\n\n if (!undo) {\n const parentCollection: CollectionType = target ?? space.properties[CollectionType.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 parentCollection instanceof CollectionType\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 (deletionData.parentCollection instanceof CollectionType) {\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 CollectionType)\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(isEchoObject) &&\n deletionData.parentCollection instanceof CollectionType\n ) {\n // Restore the object to the space.\n const restoredObjects = deletionData.objects.map((obj: Expando) => space.db.add(obj));\n\n // Restore nested objects to the space.\n deletionData.nestedObjectsList.flat().forEach((obj: 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, makeRef(restoredObjects[i] as 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.requestCapability(SpaceCapabilities.MutableState);\n state.awaiting = id;\n },\n }),\n createResolver({\n intent: CollectionAction.Create,\n resolve: async ({ name }) => ({\n data: { object: live(CollectionType, { name, objects: [], views: {} }) },\n }),\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "getTypename", "invariant", "live", "makeRef", "Migrations", "ClientCapabilities", "ObservabilityAction", "EdgeReplicationSetting", "isSpace", "getSpace", "SpaceState", "fullyQualifiedId", "isEchoObject", "Invitation", "InvitationEncoder", "ATTENDABLE_PATH_SEPARATOR", "SPACE_MAX_OBJECTS", "context", "observability", "createInvitationUrl", "resolve", "typename", "requestCapabilities", "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", "requestCapability", "ClientCapabilities", "Client", "space", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "live", "CollectionType", "objects", "views", "properties", "makeRef", "Migrations", "versionProperty", "targetVersion", "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", "AddSpace", "POPOVER_ADD_SPACE", "variant", "_tag", "side", "OpenSettings", "open", "Close", "close", "Migrate", "version", "SpaceCapabilities", "MutableState", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "result", "undefined", "OpenCreateObject", "navigable", "CREATE_OBJECT_DIALOG", "shouldNavigate", "object", "navigableCollections", "AddObject", "hidden", "isSpace", "getSpace", "invariant", "db", "coreDatabase", "getAllObjectIds", "length", "error", "Error", "AddToast", "SPACE_PLUGIN", "title", "ns", "description", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "unlinkDeletedObjects", "push", "add", "fullyQualifiedId", "objectId", "getTypename", "RemoveObjects", "deletionData", "undo", "layout", "Layout", "every", "obj", "isEchoObject", "openObjectIds", "Set", "active", "parentCollection", "nestedObjectsList", "all", "map", "getNestedObjects", "indices", "findIndex", "wasActive", "flatMap", "i", "filter", "has", "sort", "a", "b", "forEach", "index", "splice", "flat", "remove", "undoMessageKey", "some", "undoable", "message", "restoredObjects", "RenameObject", "POPOVER_RENAME_OBJECT", "DuplicateObject", "newObject", "cloneObject", "WaitForObject", "awaiting", "CollectionAction"]
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 as S } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability, useLayout } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type InputProps } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SyncStatus,\n type CreateObjectDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n MembersContainer,\n ObjectSettingsContainer,\n SpaceSettingsContainer,\n SchemaContainer,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\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={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, 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: ReactiveEchoObject<any> } =>\n isEchoObject(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: 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: S.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as S.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, 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={disabled} 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: S.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as S.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, 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={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: '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: 'popover',\n filter: (data): data is { props: ReactiveEchoObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: POPOVER_ADD_SPACE,\n role: 'popover',\n filter: (data): data is any => data.component === POPOVER_ADD_SPACE,\n component: () => <PopoverAddSpace />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(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: ReactiveEchoObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(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 | ReactiveEchoObject<any> } =>\n isSpace(data.subject) || isEchoObject(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[CollectionType.typename]?.target as CollectionType)\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: CollectionType } => isInstanceOf(CollectionType, 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", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "useLayout", "isInstanceOf", "findAnnotation", "SettingsStore", "getSpace", "isEchoObject", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "HuePicker", "IconPicker", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isEchoObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "SpacePresence", "CollectionSection", "SyncStatus"]
7
- }
@@ -1,24 +0,0 @@
1
- import {
2
- SpaceCapabilities
3
- } from "./chunk-KVRYWFZU.mjs";
4
- import "./chunk-PTKYMZWO.mjs";
5
-
6
- // packages/plugins/plugin-space/src/capabilities/schema.ts
7
- import { effect } from "@preact/signals-core";
8
- import { Capabilities, contributes } from "@dxos/app-framework";
9
- import { ClientCapabilities } from "@dxos/plugin-client";
10
- var schema_default = (context) => {
11
- const client = context.requestCapability(ClientCapabilities.Client);
12
- let previous = [];
13
- const unsubscribe = effect(() => {
14
- const forms = Array.from(new Set(context.requestCapabilities(SpaceCapabilities.ObjectForm)));
15
- const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
16
- previous = forms;
17
- client.addTypes(newSchemas);
18
- });
19
- return contributes(Capabilities.Null, null, () => unsubscribe());
20
- };
21
- export {
22
- schema_default as default
23
- };
24
- //# sourceMappingURL=schema-FHTA26SW.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { type ObjectForm } from '../types';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const unsubscribe = effect(() => {\n const forms = Array.from(new Set(context.requestCapabilities(SpaceCapabilities.ObjectForm)));\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\n return contributes(Capabilities.Null, null, () => unsubscribe());\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAcC,mBAAwC;AAC/D,SAASC,0BAA0B;AAKnC,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAGlE,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBC,kBAAkBC,UAAU,CAAA,CAAA;AAEzF,UAAMC,aAAaP,MAAMQ,OAAO,CAACC,SAAS,CAACZ,SAASa,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGf,eAAWG;AACXP,WAAOoB,SAASN,UAAAA;EAClB,CAAA;AAEA,SAAOO,YAAYC,aAAaC,MAAM,MAAM,MAAMlB,YAAAA,CAAAA;AACpD;",
6
- "names": ["effect", "Capabilities", "contributes", "ClientCapabilities", "context", "client", "requestCapability", "ClientCapabilities", "Client", "previous", "unsubscribe", "effect", "forms", "Array", "from", "Set", "requestCapabilities", "SpaceCapabilities", "ObjectForm", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "contributes", "Capabilities", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-tools.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DescriptionAnnotationId, ExamplesAnnotationId, TitleAnnotationId } from 'effect/SchemaAST';\n\nimport { Capabilities, contributes, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { type Space } from '@dxos/client/echo';\nimport { FormatEnum, FormatEnums, S, SelectOptionSchema, GeoPoint, toJsonSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { hues } from '@dxos/react-ui-theme';\nimport { getSchemaFromPropertyDefinitions } from '@dxos/schema';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\n// TODO(ZaymonFC): Move this somewhere common.\nexport const TypeNameSchema = S.String.pipe(\n S.pattern(/^\\w+\\.\\w{2,}\\/[\\w/]+$/i),\n S.annotations({\n [TitleAnnotationId]: 'TypeName',\n [DescriptionAnnotationId]:\n 'Domain-style type name path. Dashes are not allowed. Use camel case for the final component of the type name.',\n [ExamplesAnnotationId]: ['example.com/type/Document', 'example.com/type/FlightList'],\n }),\n);\n\nconst formatDescription = `The format of the property. Additional information:\n ${FormatEnum.GeoPoint}: ${JSON.stringify(toJsonSchema(GeoPoint))}\n This tuple is GeoJSON. You must specify \\`${FormatEnum.GeoPoint}\\` as [Longitude, Latitude]`;\n\n// TODO(ZaymonFC): All properties are default optional, but maybe we should allow for required properties.\nconst PropertyDefinitionSchema = S.Struct({\n name: S.String.annotations({ [DescriptionAnnotationId]: 'The name of the property.' }),\n format: S.Union(...FormatEnums.map((format) => S.Literal(format))).annotations({\n [DescriptionAnnotationId]: formatDescription,\n }),\n config: S.optional(\n S.Struct({\n options: S.optional(\n S.Array(SelectOptionSchema)\n .annotations({\n description: `Options for SingleSelect/MultiSelect formats. Available colors: ${hues.join(', ')}`,\n })\n .pipe(S.mutable),\n ),\n }),\n ),\n}).pipe(S.mutable);\n\nconst SYSTEM_NAMESPACE = 'dxos.org/echo/schema';\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(SYSTEM_NAMESPACE, {\n name: 'list',\n description: 'List registered schemas in the space.',\n caption: 'Listing registered schemas...',\n schema: S.Struct({}),\n execute: async (_input, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schemas = await space.db.schemaRegistry.query({}).run();\n return ToolResult.Success(\n schemas.map((schema) => ({\n typename: schema.typename,\n version: schema.version,\n })),\n );\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'get',\n description: 'Get a specific schema by its typename.',\n caption: 'Getting schema...',\n schema: S.Struct({\n typename: S.String.annotations({\n description: 'The fully qualified typename of the schema.',\n }),\n }),\n execute: async ({ typename }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = await space.db.schemaRegistry.query({ typename }).firstOrUndefined();\n if (!schema) {\n return ToolResult.Error(`Schema not found: ${typename}`);\n }\n\n return ToolResult.Success(schema);\n },\n }),\n defineTool(SYSTEM_NAMESPACE, {\n name: 'create',\n description: 'Create a new schema with the provided definition.',\n caption: 'Creating schema...',\n schema: S.Struct({\n typename: TypeNameSchema.annotations({\n description:\n 'The fully qualified schema typename. Must start with a domain, and then one or more path components (e.g., \"example.com/type/TypeName\").',\n }),\n properties: S.Array(PropertyDefinitionSchema).pipe(\n S.annotations({ description: 'Array of property definitions for the schema.' }),\n S.mutable,\n ),\n }),\n execute: async ({ typename, properties }, { extensions }) => {\n invariant(extensions?.space, 'No space.');\n const space = extensions.space;\n\n const schema = getSchemaFromPropertyDefinitions(typename, properties);\n const [registeredSchema] = await space.db.schemaRegistry.register([schema]);\n\n return ToolResult.Success(registeredSchema);\n },\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["DescriptionAnnotationId", "ExamplesAnnotationId", "TitleAnnotationId", "Capabilities", "contributes", "defineTool", "ToolResult", "FormatEnum", "FormatEnums", "S", "SelectOptionSchema", "GeoPoint", "toJsonSchema", "invariant", "hues", "getSchemaFromPropertyDefinitions", "TypeNameSchema", "String", "pipe", "pattern", "annotations", "formatDescription", "JSON", "stringify", "PropertyDefinitionSchema", "Struct", "name", "format", "Union", "map", "Literal", "config", "optional", "options", "Array", "description", "join", "mutable", "SYSTEM_NAMESPACE", "Tools", "caption", "schema", "execute", "_input", "extensions", "space", "schemas", "db", "schemaRegistry", "query", "run", "Success", "typename", "version", "firstOrUndefined", "Error", "properties", "registeredSchema", "register"]
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 { contributes, createIntent, type PluginsContext, Capabilities, LayoutAction } from '@dxos/app-framework';\nimport { SubscriptionList } from '@dxos/async';\nimport { Expando } from '@dxos/echo-schema';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\nimport { live } from '@dxos/live-object';\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 { Filter, FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from '@dxos/react-client/echo';\nimport { ComplexMap, reduceGroupBy } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK, SHARED } from '../util';\n\nconst ACTIVE_NODE_BROADCAST_INTERVAL = 30_000;\nconst WAIT_FOR_OBJECT_TIMEOUT = 1000;\n\nexport default async (context: PluginsContext) => {\n const subscriptions = new SubscriptionList();\n const spaceSubscriptions = new SubscriptionList();\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const layout = context.requestCapability(Capabilities.Layout);\n const deck = context.requestCapability(DeckCapabilities.DeckState);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const state = context.requestCapability(SpaceCapabilities.MutableState);\n const client = context.requestCapability(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.schema(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(live({ 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 node = graph.findNode(active[0]);\n if (!node && active[0].length === FQ_ID_LENGTH) {\n const timeout = setTimeout(async () => {\n const node = graph.findNode(active[0]);\n if (!node) {\n await dispatch(createIntent(SpaceAction.WaitForObject, { id: active[0] }));\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": ["contributes", "createIntent", "Capabilities", "LayoutAction", "SubscriptionList", "Expando", "scheduledEffect", "live", "log", "AttentionCapabilities", "ClientCapabilities", "DeckCapabilities", "EdgeReplicationSetting", "PublicKey", "Filter", "FQ_ID_LENGTH", "parseFullyQualifiedId", "SpaceState", "ComplexMap", "reduceGroupBy", "ACTIVE_NODE_BROADCAST_INTERVAL", "WAIT_FOR_OBJECT_TIMEOUT", "context", "subscriptions", "SubscriptionList", "spaceSubscriptions", "dispatchPromise", "dispatch", "requestCapability", "Capabilities", "IntentDispatcher", "graph", "AppGraph", "layout", "Layout", "deck", "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", "schema", "Expando", "key", "SHARED", "run", "add", "live", "order", "scheduledEffect", "active", "length", "node", "findNode", "FQ_ID_LENGTH", "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
- }