@dxos/plugin-space 0.7.5-labs.ea4b4c2 → 0.7.5-labs.f400bbc

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 (223) hide show
  1. package/dist/lib/browser/{app-graph-builder-TTM2YZVS.mjs → app-graph-builder-MGK5HWPZ.mjs} +21 -100
  2. package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-ZGM5NDXE.mjs → app-graph-serializer-FOWFLYGU.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-S5IGZNXJ.mjs → chunk-23RVI5FZ.mjs} +16 -5
  5. package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-RLZQJD47.mjs → chunk-NU7WDVGN.mjs} +2 -1
  7. package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-2NMUVDMZ.mjs → chunk-S6B7627U.mjs} +304 -210
  9. package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-ENRYFGYE.mjs → chunk-UDWHTKB5.mjs} +6 -3
  11. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-H2AR4OLP.mjs → chunk-ULA2UQJ4.mjs} +15 -6
  13. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
  14. package/dist/lib/browser/{identity-created-VICTPQX7.mjs → identity-created-FYGS6TBH.mjs} +2 -2
  15. package/dist/lib/browser/index.mjs +53 -19
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-A5274MUR.mjs → intent-resolver-QVR4MSJV.mjs} +26 -8
  18. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-N6QTWYCV.mjs → react-root-IP2ZB245.mjs} +5 -5
  21. package/dist/lib/browser/{react-surface-STMNA7W7.mjs → react-surface-BT3EHB6V.mjs} +16 -22
  22. package/dist/lib/browser/react-surface-BT3EHB6V.mjs.map +7 -0
  23. package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
  24. package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-HN5UIYQO.mjs → settings-PHPCXX33.mjs} +2 -2
  26. package/dist/lib/browser/{spaces-ready-F57ITJDR.mjs → spaces-ready-K47RR7N2.mjs} +4 -4
  27. package/dist/lib/browser/{state-6DCY5YJP.mjs → state-INJ63O57.mjs} +2 -2
  28. package/dist/lib/browser/types/index.mjs +5 -5
  29. package/dist/lib/node/{app-graph-builder-6N4TEVHH.cjs → app-graph-builder-ZIUBXRPA.cjs} +45 -124
  30. package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
  31. package/dist/lib/node/{app-graph-serializer-AWKVTYAB.cjs → app-graph-serializer-VQOGHKXL.cjs} +20 -20
  32. package/dist/lib/node/{chunk-2RCJT3P2.cjs → chunk-N2FS7PRA.cjs} +365 -270
  33. package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-MMXP2NHE.cjs → chunk-OVGKWJOC.cjs} +51 -40
  35. package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-I2LRRRMV.cjs → chunk-U6DYXAR3.cjs} +10 -7
  37. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-SPCSJ2CY.cjs → chunk-WAJKBO3J.cjs} +21 -12
  39. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-UX3U4RU2.cjs → chunk-YZKNRFHU.cjs} +5 -4
  41. package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
  42. package/dist/lib/node/{identity-created-JNDKMFKI.cjs → identity-created-AXI64BLE.cjs} +6 -6
  43. package/dist/lib/node/index.cjs +106 -73
  44. package/dist/lib/node/index.cjs.map +3 -3
  45. package/dist/lib/node/{intent-resolver-NVTAESKB.cjs → intent-resolver-MLENGECT.cjs} +76 -59
  46. package/dist/lib/node/intent-resolver-MLENGECT.cjs.map +7 -0
  47. package/dist/lib/node/meta.json +1 -1
  48. package/dist/lib/node/{react-root-YCHSAYQE.cjs → react-root-3OX5Z5CX.cjs} +10 -10
  49. package/dist/lib/node/{react-surface-ANSZ4FKK.cjs → react-surface-5NYCMXSM.cjs} +49 -57
  50. package/dist/lib/node/react-surface-5NYCMXSM.cjs.map +7 -0
  51. package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
  52. package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
  53. package/dist/lib/node/{settings-RBBL22DJ.cjs → settings-5QYFWNH7.cjs} +6 -6
  54. package/dist/lib/node/{spaces-ready-WHU4J6E5.cjs → spaces-ready-FQNAKR7G.cjs} +13 -13
  55. package/dist/lib/node/{state-WPZC4JXB.cjs → state-57UE3DYE.cjs} +6 -6
  56. package/dist/lib/node/types/index.cjs +18 -18
  57. package/dist/lib/node/types/index.cjs.map +1 -1
  58. package/dist/lib/node-esm/{app-graph-builder-MS6BI5EW.mjs → app-graph-builder-TERVM2SL.mjs} +21 -100
  59. package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-serializer-AWAWDSCM.mjs → app-graph-serializer-GZRSWHEN.mjs} +4 -4
  61. package/dist/lib/node-esm/{chunk-ESWV7ICX.mjs → chunk-2TQ2AJEZ.mjs} +6 -3
  62. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-LGL4A5B5.mjs → chunk-6RSVVEPS.mjs} +2 -1
  64. package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-4HICD7AU.mjs → chunk-DIKRH2IK.mjs} +304 -210
  66. package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-77RE7Y5J.mjs → chunk-PGH5L7MV.mjs} +16 -5
  68. package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-S6VAU6VJ.mjs → chunk-TRNZQEEN.mjs} +15 -6
  70. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
  71. package/dist/lib/node-esm/{identity-created-3AUSSVEK.mjs → identity-created-3CGEXNPO.mjs} +2 -2
  72. package/dist/lib/node-esm/index.mjs +53 -19
  73. package/dist/lib/node-esm/index.mjs.map +3 -3
  74. package/dist/lib/node-esm/{intent-resolver-KJ67TU34.mjs → intent-resolver-BLW4RM6X.mjs} +26 -8
  75. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs.map +7 -0
  76. package/dist/lib/node-esm/meta.json +1 -1
  77. package/dist/lib/node-esm/{react-root-NBQQKAZD.mjs → react-root-7XXGP56B.mjs} +5 -5
  78. package/dist/lib/node-esm/{react-surface-G2H5T2D2.mjs → react-surface-R2ECJSFB.mjs} +16 -22
  79. package/dist/lib/node-esm/react-surface-R2ECJSFB.mjs.map +7 -0
  80. package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
  81. package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
  82. package/dist/lib/node-esm/{settings-VBAUB37B.mjs → settings-H6MXTEQM.mjs} +2 -2
  83. package/dist/lib/node-esm/{spaces-ready-ABADUX2P.mjs → spaces-ready-HKAQG5SA.mjs} +4 -4
  84. package/dist/lib/node-esm/{state-5GH2D5U4.mjs → state-VYA6OFHD.mjs} +2 -2
  85. package/dist/lib/node-esm/types/index.mjs +5 -5
  86. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/app-graph-builder.d.ts +88 -88
  88. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  90. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/index.d.ts +112 -111
  92. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/schema.d.ts +4 -0
  96. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  97. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
  98. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  99. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
  100. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  101. package/dist/types/src/components/AwaitingObject.d.ts +1 -2
  102. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  103. package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
  104. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  105. package/dist/types/src/components/CollectionMain.d.ts +1 -2
  106. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionSection.d.ts +1 -2
  108. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  109. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
  110. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -7
  113. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
  115. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/JoinDialog.d.ts +1 -2
  117. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  118. package/dist/types/src/components/MenuFooter.d.ts +1 -2
  119. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  120. package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
  121. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  122. package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
  123. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
  124. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
  125. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  126. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
  127. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  128. package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
  129. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  130. package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
  131. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  132. package/dist/types/src/components/SpacePresence.d.ts +4 -5
  133. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  134. package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
  135. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  136. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
  137. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  138. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -5
  139. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  140. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  141. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
  142. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  143. package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
  144. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  145. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
  146. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  147. package/dist/types/src/components/index.d.ts +1 -0
  148. package/dist/types/src/components/index.d.ts.map +1 -1
  149. package/dist/types/src/events.d.ts +4 -0
  150. package/dist/types/src/events.d.ts.map +1 -1
  151. package/dist/types/src/index.d.ts +1 -1
  152. package/dist/types/src/index.d.ts.map +1 -1
  153. package/dist/types/src/translations.d.ts +9 -0
  154. package/dist/types/src/translations.d.ts.map +1 -1
  155. package/dist/types/src/types/collection.d.ts +2 -2
  156. package/dist/types/src/types/thread.d.ts +34 -34
  157. package/dist/types/src/types/types.d.ts +35 -13
  158. package/dist/types/src/types/types.d.ts.map +1 -1
  159. package/dist/types/src/util.d.ts +3 -2
  160. package/dist/types/src/util.d.ts.map +1 -1
  161. package/package.json +40 -38
  162. package/src/SpacePlugin.tsx +35 -11
  163. package/src/capabilities/app-graph-builder.ts +15 -89
  164. package/src/capabilities/capabilities.ts +3 -1
  165. package/src/capabilities/index.ts +1 -0
  166. package/src/capabilities/intent-resolver.ts +18 -0
  167. package/src/capabilities/react-surface.tsx +12 -28
  168. package/src/capabilities/schema.ts +27 -0
  169. package/src/components/BaseObjectSettings.tsx +7 -0
  170. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
  171. package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -21
  172. package/src/components/CreateDialog/CreateObjectPanel.tsx +41 -43
  173. package/src/components/PopoverAddSpace.tsx +46 -0
  174. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
  175. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +27 -4
  176. package/src/components/index.ts +1 -0
  177. package/src/events.ts +6 -0
  178. package/src/index.ts +1 -1
  179. package/src/translations.ts +3 -0
  180. package/src/types/types.ts +21 -6
  181. package/src/util.tsx +8 -2
  182. package/dist/lib/browser/app-graph-builder-TTM2YZVS.mjs.map +0 -7
  183. package/dist/lib/browser/chunk-2NMUVDMZ.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-ENRYFGYE.mjs.map +0 -7
  185. package/dist/lib/browser/chunk-H2AR4OLP.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-S5IGZNXJ.mjs.map +0 -7
  188. package/dist/lib/browser/intent-resolver-A5274MUR.mjs.map +0 -7
  189. package/dist/lib/browser/react-surface-STMNA7W7.mjs.map +0 -7
  190. package/dist/lib/node/app-graph-builder-6N4TEVHH.cjs.map +0 -7
  191. package/dist/lib/node/chunk-2RCJT3P2.cjs.map +0 -7
  192. package/dist/lib/node/chunk-I2LRRRMV.cjs.map +0 -7
  193. package/dist/lib/node/chunk-MMXP2NHE.cjs.map +0 -7
  194. package/dist/lib/node/chunk-SPCSJ2CY.cjs.map +0 -7
  195. package/dist/lib/node/chunk-UX3U4RU2.cjs.map +0 -7
  196. package/dist/lib/node/intent-resolver-NVTAESKB.cjs.map +0 -7
  197. package/dist/lib/node/react-surface-ANSZ4FKK.cjs.map +0 -7
  198. package/dist/lib/node-esm/app-graph-builder-MS6BI5EW.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-4HICD7AU.mjs.map +0 -7
  200. package/dist/lib/node-esm/chunk-77RE7Y5J.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-ESWV7ICX.mjs.map +0 -7
  202. package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-S6VAU6VJ.mjs.map +0 -7
  204. package/dist/lib/node-esm/intent-resolver-KJ67TU34.mjs.map +0 -7
  205. package/dist/lib/node-esm/react-surface-G2H5T2D2.mjs.map +0 -7
  206. /package/dist/lib/browser/{app-graph-serializer-ZGM5NDXE.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
  207. /package/dist/lib/browser/{identity-created-VICTPQX7.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
  208. /package/dist/lib/browser/{react-root-N6QTWYCV.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
  209. /package/dist/lib/browser/{settings-HN5UIYQO.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
  210. /package/dist/lib/browser/{spaces-ready-F57ITJDR.mjs.map → spaces-ready-K47RR7N2.mjs.map} +0 -0
  211. /package/dist/lib/browser/{state-6DCY5YJP.mjs.map → state-INJ63O57.mjs.map} +0 -0
  212. /package/dist/lib/node/{app-graph-serializer-AWKVTYAB.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
  213. /package/dist/lib/node/{identity-created-JNDKMFKI.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
  214. /package/dist/lib/node/{react-root-YCHSAYQE.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
  215. /package/dist/lib/node/{settings-RBBL22DJ.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
  216. /package/dist/lib/node/{spaces-ready-WHU4J6E5.cjs.map → spaces-ready-FQNAKR7G.cjs.map} +0 -0
  217. /package/dist/lib/node/{state-WPZC4JXB.cjs.map → state-57UE3DYE.cjs.map} +0 -0
  218. /package/dist/lib/node-esm/{app-graph-serializer-AWAWDSCM.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
  219. /package/dist/lib/node-esm/{identity-created-3AUSSVEK.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
  220. /package/dist/lib/node-esm/{react-root-NBQQKAZD.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
  221. /package/dist/lib/node-esm/{settings-VBAUB37B.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
  222. /package/dist/lib/node-esm/{spaces-ready-ABADUX2P.mjs.map → spaces-ready-HKAQG5SA.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{state-5GH2D5U4.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
@@ -0,0 +1,7 @@
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';\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\n// TODO(wittjosiah): Factor out to halo?\nexport class ContactType extends TypedObject({ typename: 'dxos.org/type/Contact', version: '0.1.0' })({\n name: S.optional(S.String),\n identifiers: S.mutable(\n S.Array(\n S.Struct({\n type: S.String,\n value: S.String,\n }),\n ),\n ),\n}) {}\n\nexport const ActorSchema = S.mutable(\n S.Struct({\n contact: S.optional(Ref(ContactType)),\n // TODO(wittjosiah): Should the below fields just be the contact schema?\n // i.e. it should either be a reference to an existing contact or an inline contact schema.\n identityKey: S.optional(S.String),\n // TODO(burdon): Generalize to handle/identifier?\n email: S.optional(S.String),\n name: S.optional(S.String),\n }),\n);\n\nexport type ActorType = S.Schema.Type<typeof ActorSchema>;\n\nexport enum MessageState {\n NONE = 0,\n ARCHIVED = 1,\n DELETED = 2,\n SPAM = 3,\n}\n\nexport class MessageType extends TypedObject({ typename: 'dxos.org/type/Message', version: '0.1.0' })({\n /** ISO date string when the message was sent. */\n timestamp: S.String,\n /** Message state. */\n state: S.optional(S.Enums(MessageState)),\n /** Identity of the message sender. */\n sender: ActorSchema,\n /** Text content of the message. */\n text: S.String,\n /** Non-text content sent with a message (e.g., files, polls, etc.) */\n parts: S.optional(S.mutable(S.Array(Ref(Expando)))),\n /** Custom properties for specific message types (e.g. email subject or cc fields). */\n properties: S.optional(S.mutable(S.Record({ key: S.String, value: S.Any }))),\n // TODO(wittjosiah): Add read status:\n // - Read receipts need to be per space member.\n // - Read receipts don't need to be added to schema until they being implemented.\n /** Context of the application when message was created. */\n // TODO(burdon): Evolve \"attention object\" to be current UX state? E.g., of Deck?\n context: S.optional(Ref(Expando)),\n}) {}\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 threads: S.mutable(S.Array(Ref(ThreadType))),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { AST, 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 { 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';\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\nexport const SpaceForm = S.Struct({\n name: S.optional(S.String.annotations({ [AST.TitleAnnotationId]: 'Name' })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: S.Boolean.annotations({ [AST.TitleAnnotationId]: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n objectSchema: TypedObject;\n formSchema?: S.Schema<T, any>;\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 Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\n output: S.Void,\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 export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: S.Struct({\n space: SpaceSchema,\n }),\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 }),\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", "ContactType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "identifiers", "mutable", "Array", "Struct", "type", "value", "ActorSchema", "contact", "Ref", "identityKey", "email", "MessageState", "MessageType", "timestamp", "state", "Enums", "sender", "text", "parts", "Expando", "properties", "Record", "key", "Any", "context", "ThreadStatus", "Union", "Literal", "ThreadType", "anchor", "status", "messages", "ChannelType", "threads", "AST", "S", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "SPACE_DIRECTORY_HANDLE", "SpaceSettingsSchema", "S", "mutable", "Struct", "showHidden", "Boolean", "SpaceForm", "name", "optional", "String", "annotations", "AST", "TitleAnnotationId", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "Share", "Lock", "Unlock", "Rename", "caller", "AddSpace", "AddSpaceMenuGroup", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "target", "Union", "CollectionType", "navigable", "AddObject", "object", "ReactiveObjectSchema", "EchoObjectSchema", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  CollectionType
4
- } from "./chunk-S6VAU6VJ.mjs";
4
+ } from "./chunk-TRNZQEEN.mjs";
5
5
  import "./chunk-ICCM4YRJ.mjs";
6
6
 
7
7
  // packages/plugins/plugin-space/src/capabilities/identity-created.ts
@@ -26,4 +26,4 @@ var identity_created_default = async (context) => {
26
26
  export {
27
27
  identity_created_default as default
28
28
  };
29
- //# sourceMappingURL=identity-created-3AUSSVEK.mjs.map
29
+ //# sourceMappingURL=identity-created-3CGEXNPO.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations_default
4
- } from "./chunk-ESWV7ICX.mjs";
4
+ } from "./chunk-2TQ2AJEZ.mjs";
5
5
  import {
6
6
  AdvancedObjectSettings,
7
7
  AppGraphBuilder,
@@ -21,14 +21,17 @@ import {
21
21
  JOIN_DIALOG,
22
22
  JoinDialog,
23
23
  MenuFooter,
24
+ POPOVER_ADD_SPACE,
24
25
  POPOVER_RENAME_OBJECT,
25
26
  POPOVER_RENAME_SPACE,
26
27
  PersistenceStatus,
28
+ PopoverAddSpace,
27
29
  PopoverRenameObject,
28
30
  PopoverRenameSpace,
29
31
  ReactRoot,
30
32
  ReactSurface,
31
33
  SPACE_SETTINGS_DIALOG,
34
+ Schema,
32
35
  ShareSpaceButton,
33
36
  ShareSpaceButtonImpl,
34
37
  SmallPresence,
@@ -43,11 +46,11 @@ import {
43
46
  SyncStatus,
44
47
  SyncStatusDetail,
45
48
  SyncStatusIndicator
46
- } from "./chunk-4HICD7AU.mjs";
49
+ } from "./chunk-DIKRH2IK.mjs";
47
50
  import {
48
51
  SpaceCapabilities,
49
52
  ThreadCapabilities
50
- } from "./chunk-LGL4A5B5.mjs";
53
+ } from "./chunk-6RSVVEPS.mjs";
51
54
  import {
52
55
  COMPOSER_SPACE_LOCK,
53
56
  SHARED,
@@ -62,11 +65,12 @@ import {
62
65
  getNestedObjects,
63
66
  getSpaceDisplayName,
64
67
  memoizeQuery
65
- } from "./chunk-77RE7Y5J.mjs";
68
+ } from "./chunk-PGH5L7MV.mjs";
66
69
  import {
67
70
  CollectionAction,
68
- CollectionType
69
- } from "./chunk-S6VAU6VJ.mjs";
71
+ CollectionType,
72
+ defineObjectForm
73
+ } from "./chunk-TRNZQEEN.mjs";
70
74
  import {
71
75
  SPACE_PLUGIN,
72
76
  meta
@@ -76,16 +80,23 @@ import {
76
80
  import { defineEvent } from "@dxos/app-framework";
77
81
  var SpaceEvents;
78
82
  (function(SpaceEvents2) {
83
+ SpaceEvents2.SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);
79
84
  SpaceEvents2.StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);
80
85
  SpaceEvents2.DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);
81
86
  })(SpaceEvents || (SpaceEvents = {}));
87
+ var ThreadEvents;
88
+ (function(ThreadEvents2) {
89
+ ThreadEvents2.SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);
90
+ })(ThreadEvents || (ThreadEvents = {}));
82
91
 
83
92
  // packages/plugins/plugin-space/src/SpacePlugin.tsx
84
93
  import { allOf, Capabilities, contributes, createIntent, defineModule, definePlugin, Events, oneOf } from "@dxos/app-framework";
94
+ import { S } from "@dxos/echo-schema";
85
95
  import { RefArray } from "@dxos/live-object";
86
96
  import { AttentionEvents } from "@dxos/plugin-attention";
87
- import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
88
- import { DeckCapabilities } from "@dxos/plugin-deck";
97
+ import { ClientEvents } from "@dxos/plugin-client";
98
+ import { DeckCapabilities, DeckEvents } from "@dxos/plugin-deck";
99
+ import { isEchoObject, getSpace } from "@dxos/react-client/echo";
89
100
  import { osTranslations } from "@dxos/shell/react";
90
101
  var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = true } = {}) => {
91
102
  const createInvitationUrl = (invitationCode) => {
@@ -96,7 +107,10 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
96
107
  return definePlugin(meta, [
97
108
  defineModule({
98
109
  id: `${meta.id}/module/state`,
99
- activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),
110
+ // TODO(wittjosiah): Does not integrate with settings store.
111
+ // Should this be a different event?
112
+ // Should settings store be renamed to be more generic?
113
+ activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),
100
114
  activatesAfter: [
101
115
  SpaceEvents.StateReady
102
116
  ],
@@ -121,7 +135,6 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
121
135
  activate: () => contributes(Capabilities.Metadata, {
122
136
  id: CollectionType.typename,
123
137
  metadata: {
124
- createObject: (props) => createIntent(CollectionAction.Create, props),
125
138
  placeholder: [
126
139
  "unnamed collection label",
127
140
  {
@@ -137,9 +150,20 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
137
150
  }
138
151
  })
139
152
  }),
153
+ defineModule({
154
+ id: `${meta.id}/module/object-form`,
155
+ activatesOn: ClientEvents.SetupSchema,
156
+ activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
157
+ objectSchema: CollectionType,
158
+ formSchema: S.Struct({
159
+ name: S.optional(S.String)
160
+ }),
161
+ getIntent: (props) => createIntent(CollectionAction.Create, props)
162
+ }))
163
+ }),
140
164
  defineModule({
141
165
  id: `${meta.id}/module/complementary-panel`,
142
- activatesOn: Events.Startup,
166
+ activatesOn: DeckEvents.SetupComplementaryPanels,
143
167
  activate: () => contributes(DeckCapabilities.ComplementaryPanel, {
144
168
  id: "settings",
145
169
  label: [
@@ -148,15 +172,18 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
148
172
  ns: SPACE_PLUGIN
149
173
  }
150
174
  ],
151
- icon: "ph--sliders--regular"
175
+ icon: "ph--sliders--regular",
176
+ position: "hoist",
177
+ filter: (node) => isEchoObject(node.data) && !!getSpace(node.data)
152
178
  })
153
179
  }),
154
180
  defineModule({
155
181
  id: `${meta.id}/module/schema`,
156
- activatesOn: ClientEvents.SetupSchema,
157
- activate: () => contributes(ClientCapabilities.Schema, [
158
- CollectionType
159
- ])
182
+ activatesOn: ClientEvents.ClientReady,
183
+ activatesBefore: [
184
+ ClientEvents.SetupSchema
185
+ ],
186
+ activate: Schema
160
187
  }),
161
188
  defineModule({
162
189
  id: `${meta.id}/module/react-root`,
@@ -165,14 +192,18 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
165
192
  }),
166
193
  defineModule({
167
194
  id: `${meta.id}/module/react-surface`,
168
- activatesOn: Events.SetupSurfaces,
195
+ activatesOn: Events.SetupReactSurface,
196
+ // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.
197
+ activatesBefore: [
198
+ SpaceEvents.SetupSettingsPanel
199
+ ],
169
200
  activate: () => ReactSurface({
170
201
  createInvitationUrl
171
202
  })
172
203
  }),
173
204
  defineModule({
174
205
  id: `${meta.id}/module/intent-resolver`,
175
- activatesOn: Events.SetupIntents,
206
+ activatesOn: Events.SetupIntentResolver,
176
207
  activate: (context) => IntentResolver({
177
208
  createInvitationUrl,
178
209
  context,
@@ -187,7 +218,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
187
218
  // TODO(wittjosiah): This could probably be deferred.
188
219
  defineModule({
189
220
  id: `${meta.id}/module/app-graph-serializer`,
190
- activatesOn: Events.Startup,
221
+ activatesOn: Events.AppGraphReady,
191
222
  activate: AppGraphSerializer
192
223
  }),
193
224
  defineModule({
@@ -221,9 +252,11 @@ export {
221
252
  JOIN_DIALOG,
222
253
  JoinDialog,
223
254
  MenuFooter,
255
+ POPOVER_ADD_SPACE,
224
256
  POPOVER_RENAME_OBJECT,
225
257
  POPOVER_RENAME_SPACE,
226
258
  PersistenceStatus,
259
+ PopoverAddSpace,
227
260
  PopoverRenameObject,
228
261
  PopoverRenameSpace,
229
262
  SHARED,
@@ -246,6 +279,7 @@ export {
246
279
  SyncStatusDetail,
247
280
  SyncStatusIndicator,
248
281
  ThreadCapabilities,
282
+ ThreadEvents,
249
283
  cloneObject,
250
284
  constructObjectActions,
251
285
  constructSpaceActions,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/SpacePlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta, SPACE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = true,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n createObject: (props: { name?: string }) => createIntent(CollectionAction.Create, props),\n placeholder: ['unnamed collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/complementary-panel`,\n activatesOn: Events.Startup,\n activate: () =>\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'settings',\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [CollectionType]),\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupSurfaces,\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: (context) => IntentResolver({ createInvitationUrl, context, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.Startup,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["defineEvent", "SpaceEvents", "StateReady", "defineEvent", "SPACE_PLUGIN", "DefaultSpaceReady", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "RefArray", "AttentionEvents", "ClientCapabilities", "ClientEvents", "DeckCapabilities", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "Startup", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SetupSettings", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "createObject", "props", "createIntent", "CollectionAction", "Create", "placeholder", "ns", "SPACE_PLUGIN", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "DeckCapabilities", "ComplementaryPanel", "label", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "ReactRoot", "SetupSurfaces", "ReactSurface", "SetupIntents", "context", "IntentResolver", "AppGraphBuilder", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AppGraphReady", "AttentionEvents", "AttentionReady", "SpacesReady"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { DeckCapabilities, DeckEvents } from '@dxos/plugin-deck';\nimport { isEchoObject, getSpace } from '@dxos/react-client/echo';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta, SPACE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = true,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n placeholder: ['unnamed collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: S.Struct({ name: S.optional(S.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/complementary-panel`,\n activatesOn: DeckEvents.SetupComplementaryPanels,\n activate: () =>\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'settings',\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n filter: (node) => isEchoObject(node.data) && !!getSpace(node.data),\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ createInvitationUrl, context, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["defineEvent", "SpaceEvents", "SetupSettingsPanel", "defineEvent", "SPACE_PLUGIN", "StateReady", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "DeckCapabilities", "DeckEvents", "isEchoObject", "getSpace", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "placeholder", "ns", "SPACE_PLUGIN", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "DeckEvents", "SetupComplementaryPanels", "DeckCapabilities", "ComplementaryPanel", "label", "position", "filter", "node", "isEchoObject", "data", "getSpace", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady"]
7
7
  }
@@ -3,23 +3,24 @@ import {
3
3
  CREATE_OBJECT_DIALOG,
4
4
  CREATE_SPACE_DIALOG,
5
5
  JOIN_DIALOG,
6
+ POPOVER_ADD_SPACE,
6
7
  POPOVER_RENAME_OBJECT,
7
8
  POPOVER_RENAME_SPACE,
8
9
  SPACE_SETTINGS_DIALOG
9
- } from "./chunk-4HICD7AU.mjs";
10
+ } from "./chunk-DIKRH2IK.mjs";
10
11
  import {
11
12
  SpaceCapabilities
12
- } from "./chunk-LGL4A5B5.mjs";
13
+ } from "./chunk-6RSVVEPS.mjs";
13
14
  import {
14
15
  COMPOSER_SPACE_LOCK,
15
16
  cloneObject,
16
17
  getNestedObjects
17
- } from "./chunk-77RE7Y5J.mjs";
18
+ } from "./chunk-PGH5L7MV.mjs";
18
19
  import {
19
20
  CollectionAction,
20
21
  CollectionType,
21
22
  SpaceAction
22
- } from "./chunk-S6VAU6VJ.mjs";
23
+ } from "./chunk-TRNZQEEN.mjs";
23
24
  import {
24
25
  SPACE_PLUGIN
25
26
  } from "./chunk-ICCM4YRJ.mjs";
@@ -198,6 +199,23 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
198
199
  };
199
200
  }
200
201
  }),
202
+ createResolver({
203
+ intent: SpaceAction.AddSpace,
204
+ resolve: () => {
205
+ return {
206
+ intents: [
207
+ createIntent(LayoutAction.UpdatePopover, {
208
+ part: "popover",
209
+ subject: POPOVER_ADD_SPACE,
210
+ options: {
211
+ anchorId: SpaceAction.AddSpace._tag,
212
+ side: "right"
213
+ }
214
+ })
215
+ ]
216
+ };
217
+ }
218
+ }),
201
219
  createResolver({
202
220
  intent: SpaceAction.OpenSettings,
203
221
  resolve: ({ space }) => {
@@ -284,7 +302,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
284
302
  const space = isSpace(target) ? target : getSpace(target);
285
303
  invariant(space, "Space not found.", {
286
304
  F: __dxlog_file,
287
- L: 305,
305
+ L: 323,
288
306
  S: void 0,
289
307
  A: [
290
308
  "space",
@@ -391,7 +409,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
391
409
  const space = getSpace(objects[0]);
392
410
  invariant(space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space), void 0, {
393
411
  F: __dxlog_file,
394
- L: 382,
412
+ L: 400,
395
413
  S: void 0,
396
414
  A: [
397
415
  "space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space)",
@@ -493,7 +511,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
493
511
  const space = isSpace(target) ? target : getSpace(target);
494
512
  invariant(space, "Space not found.", {
495
513
  F: __dxlog_file,
496
- L: 496,
514
+ L: 514,
497
515
  S: void 0,
498
516
  A: [
499
517
  "space",
@@ -535,4 +553,4 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
535
553
  export {
536
554
  intent_resolver_default as default
537
555
  };
538
- //# sourceMappingURL=intent-resolver-KJ67TU34.mjs.map
556
+ //# sourceMappingURL=intent-resolver-BLW4RM6X.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\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 { create, makeRef, type ReactiveObject } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\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, type Space, fullyQualifiedId, isEchoObject } from '@dxos/react-client/echo';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n SPACE_SETTINGS_DIALOG,\n type SpaceSettingsDialogProps,\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 createInvitationUrl: (invitationCode: string) => string;\n context: PluginsContext;\n observability?: boolean;\n};\n\nexport default ({ createInvitationUrl, context, observability }: 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, edgeReplication }) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = await client.spaces.create({ name });\n if (edgeReplication) {\n await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);\n }\n await space.waitUntilReady();\n const collection = create(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 }) => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: invitationCode,\n } satisfies Partial<JoinDialogProps>,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Share,\n filter: (data): data is { space: Space } => !data.space.properties[COMPOSER_SPACE_LOCK],\n resolve: ({ space }) => {\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const current = attention.current.at(-1);\n const target = current?.startsWith(space.id) ? current : undefined;\n\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: SPACE_SETTINGS_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n space,\n target,\n initialTab: 'members',\n createInvitationUrl,\n } satisfies Partial<SpaceSettingsDialogProps>,\n },\n }),\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.share',\n properties: {\n space: space.id,\n },\n }),\n ]\n : []),\n ],\n };\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 anchorId: SpaceAction.AddSpace._tag,\n side: 'right',\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenSettings,\n resolve: ({ space }) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: SPACE_SETTINGS_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n space,\n initialTab: 'settings',\n createInvitationUrl,\n } satisfies Partial<SpaceSettingsDialogProps>,\n },\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 }) => {\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, version);\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 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: ReactiveObject<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 }) => {\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)) {\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 = create(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: create(CollectionType, { name, objects: [], views: {} }) },\n }),\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "getTypename", "invariant", "create", "makeRef", "Migrations", "AttentionCapabilities", "ClientCapabilities", "ObservabilityAction", "EdgeReplicationSetting", "isSpace", "getSpace", "SpaceState", "fullyQualifiedId", "isEchoObject", "SPACE_MAX_OBJECTS", "createInvitationUrl", "context", "observability", "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", "edgeReplication", "client", "requestCapability", "ClientCapabilities", "Client", "space", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "CollectionType", "objects", "views", "properties", "makeRef", "Migrations", "versionProperty", "targetVersion", "data", "ObservabilityAction", "SendEvent", "spaceId", "Join", "invitationCode", "JOIN_DIALOG", "props", "initialInvitationCode", "Share", "filter", "COMPOSER_SPACE_LOCK", "attention", "AttentionCapabilities", "Attention", "current", "at", "target", "startsWith", "undefined", "SPACE_SETTINGS_DIALOG", "initialTab", "Lock", "Unlock", "Rename", "caller", "UpdatePopover", "POPOVER_RENAME_SPACE", "anchorId", "AddSpace", "POPOVER_ADD_SPACE", "_tag", "side", "OpenSettings", "Open", "open", "Close", "close", "Migrate", "version", "state", "SpaceCapabilities", "MutableState", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "result", "OpenCreateObject", "navigable", "State", "CREATE_OBJECT_DIALOG", "shouldNavigate", "object", "navigableCollections", "AddObject", "isSpace", "getSpace", "invariant", "db", "coreDatabase", "getAllObjectIds", "length", "error", "Error", "AddToast", "SPACE_PLUGIN", "title", "ns", "description", "duration", "icon", "actionLabel", "actionAlt", "closeLabel", "onAction", "unlinkDeletedObjects", "push", "fullyQualifiedId", "objectId", "getTypename", "RemoveObjects", "deletionData", "undo", "layout", "Layout", "every", "obj", "isEchoObject", "openObjectIds", "Set", "active", "parentCollection", "nestedObjectsList", "Promise", "all", "map", "getNestedObjects", "indices", "findIndex", "wasActive", "flatMap", "i", "has", "sort", "a", "b", "forEach", "index", "splice", "flat", "remove", "undoMessageKey", "some", "undoable", "message", "restoredObjects", "add", "RenameObject", "POPOVER_RENAME_OBJECT", "DuplicateObject", "newObject", "cloneObject", "WaitForObject", "awaiting", "CollectionAction"]
7
+ }