@dxos/plugin-space 0.7.4 → 0.7.5-feature-compute.4d9d99a

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 (255) hide show
  1. package/dist/lib/browser/app-graph-builder-5D2QB43K.mjs +365 -0
  2. package/dist/lib/browser/app-graph-builder-5D2QB43K.mjs.map +7 -0
  3. package/dist/lib/browser/app-graph-serializer-VNWPLPDF.mjs +80 -0
  4. package/dist/lib/browser/app-graph-serializer-VNWPLPDF.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-5TBRONF6.mjs +133 -0
  6. package/dist/lib/browser/chunk-5TBRONF6.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-6SWQRWOD.mjs +1672 -0
  8. package/dist/lib/browser/chunk-6SWQRWOD.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-HCXWKGTE.mjs +316 -0
  10. package/dist/lib/browser/chunk-HCXWKGTE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-SOXNANA6.mjs +12 -0
  12. package/dist/lib/browser/chunk-SOXNANA6.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-UH5P4UL3.mjs +21 -0
  14. package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-ZBKFJNHH.mjs +523 -0
  16. package/dist/lib/browser/chunk-ZBKFJNHH.mjs.map +7 -0
  17. package/dist/lib/browser/identity-created-EC5FOCX2.mjs +28 -0
  18. package/dist/lib/browser/identity-created-EC5FOCX2.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +192 -3521
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/intent-resolver-VBL572N7.mjs +459 -0
  22. package/dist/lib/browser/intent-resolver-VBL572N7.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/react-root-AZJFNTKK.mjs +28 -0
  25. package/dist/lib/browser/react-root-AZJFNTKK.mjs.map +7 -0
  26. package/dist/lib/browser/react-surface-E2VSYVNZ.mjs +238 -0
  27. package/dist/lib/browser/react-surface-E2VSYVNZ.mjs.map +7 -0
  28. package/dist/lib/browser/settings-ASFF5BZL.mjs +24 -0
  29. package/dist/lib/browser/settings-ASFF5BZL.mjs.map +7 -0
  30. package/dist/lib/browser/spaces-ready-4SFNS5JQ.mjs +200 -0
  31. package/dist/lib/browser/spaces-ready-4SFNS5JQ.mjs.map +7 -0
  32. package/dist/lib/browser/state-MS4KYJWI.mjs +47 -0
  33. package/dist/lib/browser/state-MS4KYJWI.mjs.map +7 -0
  34. package/dist/lib/browser/types/index.mjs +14 -5
  35. package/dist/lib/node/app-graph-builder-ZQ5S62YR.cjs +368 -0
  36. package/dist/lib/node/app-graph-builder-ZQ5S62YR.cjs.map +7 -0
  37. package/dist/lib/node/app-graph-serializer-72S7P33H.cjs +88 -0
  38. package/dist/lib/node/app-graph-serializer-72S7P33H.cjs.map +7 -0
  39. package/dist/lib/node/chunk-56NGXG2A.cjs +41 -0
  40. package/dist/lib/node/chunk-56NGXG2A.cjs.map +7 -0
  41. package/dist/lib/node/{meta.cjs → chunk-AO4EW2RX.cjs} +12 -13
  42. package/dist/lib/node/chunk-AO4EW2RX.cjs.map +7 -0
  43. package/dist/lib/node/chunk-BQRNTKSQ.cjs +150 -0
  44. package/dist/lib/node/chunk-BQRNTKSQ.cjs.map +7 -0
  45. package/dist/lib/node/chunk-DDZYVNVP.cjs +345 -0
  46. package/dist/lib/node/chunk-DDZYVNVP.cjs.map +7 -0
  47. package/dist/lib/node/chunk-M64YG2FY.cjs +1669 -0
  48. package/dist/lib/node/chunk-M64YG2FY.cjs.map +7 -0
  49. package/dist/lib/node/chunk-Z34MTEU7.cjs +551 -0
  50. package/dist/lib/node/chunk-Z34MTEU7.cjs.map +7 -0
  51. package/dist/lib/node/identity-created-IMDS4A6A.cjs +44 -0
  52. package/dist/lib/node/identity-created-IMDS4A6A.cjs.map +7 -0
  53. package/dist/lib/node/index.cjs +175 -3506
  54. package/dist/lib/node/index.cjs.map +4 -4
  55. package/dist/lib/node/intent-resolver-S4HZABYI.cjs +458 -0
  56. package/dist/lib/node/intent-resolver-S4HZABYI.cjs.map +7 -0
  57. package/dist/lib/node/meta.json +1 -1
  58. package/dist/lib/node/react-root-RB3OM3QG.cjs +50 -0
  59. package/dist/lib/node/react-root-RB3OM3QG.cjs.map +7 -0
  60. package/dist/lib/node/react-surface-TLKQEHHT.cjs +233 -0
  61. package/dist/lib/node/react-surface-TLKQEHHT.cjs.map +7 -0
  62. package/dist/lib/node/settings-QLCKAUHK.cjs +38 -0
  63. package/dist/lib/node/settings-QLCKAUHK.cjs.map +7 -0
  64. package/dist/lib/node/spaces-ready-RZTKEXOL.cjs +211 -0
  65. package/dist/lib/node/spaces-ready-RZTKEXOL.cjs.map +7 -0
  66. package/dist/lib/node/state-4UIOUKLJ.cjs +61 -0
  67. package/dist/lib/node/state-4UIOUKLJ.cjs.map +7 -0
  68. package/dist/lib/node/types/index.cjs +23 -14
  69. package/dist/lib/node/types/index.cjs.map +2 -2
  70. package/dist/lib/node-esm/app-graph-builder-CD6IYPSS.mjs +366 -0
  71. package/dist/lib/node-esm/app-graph-builder-CD6IYPSS.mjs.map +7 -0
  72. package/dist/lib/node-esm/app-graph-serializer-CFXS6ZE2.mjs +81 -0
  73. package/dist/lib/node-esm/app-graph-serializer-CFXS6ZE2.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-375RB3CZ.mjs +22 -0
  75. package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-7FUVU45N.mjs +14 -0
  77. package/dist/lib/node-esm/chunk-7FUVU45N.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-CLGCKZ2D.mjs +317 -0
  79. package/dist/lib/node-esm/chunk-CLGCKZ2D.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-CMKML5IN.mjs +1673 -0
  81. package/dist/lib/node-esm/chunk-CMKML5IN.mjs.map +7 -0
  82. package/dist/lib/node-esm/chunk-FUMGYUD3.mjs +524 -0
  83. package/dist/lib/node-esm/chunk-FUMGYUD3.mjs.map +7 -0
  84. package/dist/lib/node-esm/chunk-M4XTHK35.mjs +134 -0
  85. package/dist/lib/node-esm/chunk-M4XTHK35.mjs.map +7 -0
  86. package/dist/lib/node-esm/identity-created-SJYZZ7Q3.mjs +29 -0
  87. package/dist/lib/node-esm/identity-created-SJYZZ7Q3.mjs.map +7 -0
  88. package/dist/lib/node-esm/index.mjs +192 -3521
  89. package/dist/lib/node-esm/index.mjs.map +4 -4
  90. package/dist/lib/node-esm/intent-resolver-OIQH7HN7.mjs +460 -0
  91. package/dist/lib/node-esm/intent-resolver-OIQH7HN7.mjs.map +7 -0
  92. package/dist/lib/node-esm/meta.json +1 -1
  93. package/dist/lib/node-esm/react-root-WKJWCHXR.mjs +29 -0
  94. package/dist/lib/node-esm/react-root-WKJWCHXR.mjs.map +7 -0
  95. package/dist/lib/node-esm/react-surface-RVEHOSAD.mjs +239 -0
  96. package/dist/lib/node-esm/react-surface-RVEHOSAD.mjs.map +7 -0
  97. package/dist/lib/node-esm/settings-WLVEO4JM.mjs +25 -0
  98. package/dist/lib/node-esm/settings-WLVEO4JM.mjs.map +7 -0
  99. package/dist/lib/node-esm/spaces-ready-ITGYYT5A.mjs +201 -0
  100. package/dist/lib/node-esm/spaces-ready-ITGYYT5A.mjs.map +7 -0
  101. package/dist/lib/node-esm/state-BMISGQ2O.mjs +48 -0
  102. package/dist/lib/node-esm/state-BMISGQ2O.mjs.map +7 -0
  103. package/dist/lib/node-esm/types/index.mjs +14 -5
  104. package/dist/types/src/SpacePlugin.d.ts +1 -24
  105. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/app-graph-serializer.d.ts +4 -0
  109. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/capabilities.d.ts +15 -0
  111. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  112. package/dist/types/src/capabilities/identity-created.d.ts +4 -0
  113. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/index.d.ts +195 -0
  115. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/intent-resolver.d.ts +8 -0
  117. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/react-root.d.ts +7 -0
  119. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/react-surface.d.ts +7 -0
  121. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/settings.d.ts +4 -0
  123. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/spaces-ready.d.ts +4 -0
  125. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/state.d.ts +5 -0
  127. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  128. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +7 -0
  129. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -0
  130. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +8 -0
  131. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -0
  132. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts +2 -0
  133. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts.map +1 -0
  134. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  135. package/dist/types/src/components/BaseObjectSettings.d.ts +7 -0
  136. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -0
  137. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +5 -4
  138. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  139. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -6
  140. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  141. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -0
  142. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  143. package/dist/types/src/components/JoinDialog.d.ts +1 -0
  144. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  145. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -0
  146. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  147. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -0
  148. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  149. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  150. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  151. package/dist/types/src/components/SpacePresence.d.ts +9 -6
  152. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  153. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  154. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  155. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -0
  156. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  157. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +4 -3
  159. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  160. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  161. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +3 -3
  162. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  163. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +2 -2
  164. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +1 -1
  165. package/dist/types/src/components/index.d.ts +2 -1
  166. package/dist/types/src/components/index.d.ts.map +1 -1
  167. package/dist/types/src/events.d.ts +5 -0
  168. package/dist/types/src/events.d.ts.map +1 -0
  169. package/dist/types/src/hooks/index.d.ts +2 -0
  170. package/dist/types/src/hooks/index.d.ts.map +1 -0
  171. package/dist/types/src/hooks/usePath.d.ts +11 -0
  172. package/dist/types/src/hooks/usePath.d.ts.map +1 -0
  173. package/dist/types/src/index.d.ts +3 -5
  174. package/dist/types/src/index.d.ts.map +1 -1
  175. package/dist/types/src/meta.d.ts +1 -27
  176. package/dist/types/src/meta.d.ts.map +1 -1
  177. package/dist/types/src/translations.d.ts +18 -3
  178. package/dist/types/src/translations.d.ts.map +1 -1
  179. package/dist/types/src/types/collection.d.ts +8 -12
  180. package/dist/types/src/types/collection.d.ts.map +1 -1
  181. package/dist/types/src/types/thread.d.ts +180 -186
  182. package/dist/types/src/types/thread.d.ts.map +1 -1
  183. package/dist/types/src/types/types.d.ts +228 -16
  184. package/dist/types/src/types/types.d.ts.map +1 -1
  185. package/dist/types/src/util.d.ts +9 -8
  186. package/dist/types/src/util.d.ts.map +1 -1
  187. package/dist/types/tsconfig.tsbuildinfo +1 -0
  188. package/package.json +38 -46
  189. package/src/SpacePlugin.tsx +119 -1541
  190. package/src/capabilities/app-graph-builder.ts +392 -0
  191. package/src/capabilities/app-graph-serializer.ts +73 -0
  192. package/src/capabilities/capabilities.ts +23 -0
  193. package/src/capabilities/identity-created.ts +26 -0
  194. package/src/capabilities/index.ts +17 -0
  195. package/src/capabilities/intent-resolver.ts +420 -0
  196. package/src/capabilities/react-root.tsx +20 -0
  197. package/src/capabilities/react-surface.tsx +234 -0
  198. package/src/capabilities/settings.ts +17 -0
  199. package/src/capabilities/spaces-ready.ts +231 -0
  200. package/src/capabilities/state.ts +45 -0
  201. package/src/components/AdvancedObjectSettings/AdvancedObjectSettings.tsx +72 -0
  202. package/src/components/AdvancedObjectSettings/ForeignKeys.tsx +51 -0
  203. package/src/components/AdvancedObjectSettings/index.ts +5 -0
  204. package/src/components/AwaitingObject.tsx +15 -19
  205. package/src/components/{DefaultObjectSettings.tsx → BaseObjectSettings.tsx} +2 -2
  206. package/src/components/CreateDialog/CreateObjectDialog.tsx +36 -25
  207. package/src/components/CreateDialog/CreateObjectPanel.tsx +61 -24
  208. package/src/components/CreateDialog/CreateSpaceDialog.tsx +10 -14
  209. package/src/components/JoinDialog.tsx +18 -34
  210. package/src/components/PersistenceStatus.tsx +1 -1
  211. package/src/components/PopoverRenameObject.tsx +2 -0
  212. package/src/components/PopoverRenameSpace.tsx +2 -0
  213. package/src/components/ShareSpaceButton.tsx +5 -4
  214. package/src/components/SpacePluginSettings.tsx +2 -13
  215. package/src/components/SpacePresence.stories.tsx +25 -17
  216. package/src/components/SpacePresence.tsx +42 -21
  217. package/src/components/SpaceSettings/SpaceSettingsDialog.stories.tsx +2 -3
  218. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +3 -1
  219. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +7 -5
  220. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +6 -5
  221. package/src/components/SyncStatus/InlineSyncStatus.tsx +37 -27
  222. package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +55 -51
  223. package/src/components/index.ts +2 -1
  224. package/src/events.ts +12 -0
  225. package/src/hooks/index.ts +5 -0
  226. package/src/hooks/usePath.ts +44 -0
  227. package/src/index.ts +3 -7
  228. package/src/meta.ts +1 -29
  229. package/src/translations.ts +7 -2
  230. package/src/types/collection.ts +3 -3
  231. package/src/types/thread.ts +6 -6
  232. package/src/types/types.ts +177 -42
  233. package/src/util.tsx +77 -64
  234. package/dist/lib/browser/chunk-FTKV32QZ.mjs +0 -43
  235. package/dist/lib/browser/chunk-FTKV32QZ.mjs.map +0 -7
  236. package/dist/lib/browser/chunk-MWKXNS5S.mjs +0 -124
  237. package/dist/lib/browser/chunk-MWKXNS5S.mjs.map +0 -7
  238. package/dist/lib/browser/meta.mjs +0 -15
  239. package/dist/lib/browser/meta.mjs.map +0 -7
  240. package/dist/lib/node/chunk-6SNOZF7Y.cjs +0 -152
  241. package/dist/lib/node/chunk-6SNOZF7Y.cjs.map +0 -7
  242. package/dist/lib/node/chunk-QNVEU2UD.cjs +0 -69
  243. package/dist/lib/node/chunk-QNVEU2UD.cjs.map +0 -7
  244. package/dist/lib/node/meta.cjs.map +0 -7
  245. package/dist/lib/node-esm/chunk-OHEAWSCA.mjs +0 -126
  246. package/dist/lib/node-esm/chunk-OHEAWSCA.mjs.map +0 -7
  247. package/dist/lib/node-esm/chunk-UMV7XREB.mjs +0 -45
  248. package/dist/lib/node-esm/chunk-UMV7XREB.mjs.map +0 -7
  249. package/dist/lib/node-esm/meta.mjs +0 -16
  250. package/dist/lib/node-esm/meta.mjs.map +0 -7
  251. package/dist/types/src/components/DefaultObjectSettings.d.ts +0 -7
  252. package/dist/types/src/components/DefaultObjectSettings.d.ts.map +0 -1
  253. package/dist/types/src/components/SyncStatus/InlineSyncStatus.stories.d.ts +0 -6
  254. package/dist/types/src/components/SyncStatus/InlineSyncStatus.stories.d.ts.map +0 -1
  255. package/src/components/SyncStatus/InlineSyncStatus.stories.tsx +0 -57
@@ -18,32 +18,41 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- ActorSchema: () => import_chunk_6SNOZF7Y.ActorSchema,
22
- ChannelType: () => import_chunk_6SNOZF7Y.ChannelType,
23
- CollectionType: () => import_chunk_6SNOZF7Y.CollectionType,
24
- ContactType: () => import_chunk_6SNOZF7Y.ContactType,
25
- MessageState: () => import_chunk_6SNOZF7Y.MessageState,
26
- MessageType: () => import_chunk_6SNOZF7Y.MessageType,
27
- SPACE_DIRECTORY_HANDLE: () => import_chunk_6SNOZF7Y.SPACE_DIRECTORY_HANDLE,
28
- SpaceForm: () => import_chunk_6SNOZF7Y.SpaceForm,
29
- ThreadStatus: () => import_chunk_6SNOZF7Y.ThreadStatus,
30
- ThreadType: () => import_chunk_6SNOZF7Y.ThreadType,
31
- parseSchemaPlugin: () => import_chunk_6SNOZF7Y.parseSchemaPlugin
21
+ ActiveParts: () => import_chunk_DDZYVNVP.ActiveParts,
22
+ ActorSchema: () => import_chunk_DDZYVNVP.ActorSchema,
23
+ ChannelType: () => import_chunk_DDZYVNVP.ChannelType,
24
+ CollectionAction: () => import_chunk_DDZYVNVP.CollectionAction,
25
+ CollectionType: () => import_chunk_DDZYVNVP.CollectionType,
26
+ ContactType: () => import_chunk_DDZYVNVP.ContactType,
27
+ MessageState: () => import_chunk_DDZYVNVP.MessageState,
28
+ MessageType: () => import_chunk_DDZYVNVP.MessageType,
29
+ SPACE_ACTION: () => import_chunk_DDZYVNVP.SPACE_ACTION,
30
+ SPACE_DIRECTORY_HANDLE: () => import_chunk_DDZYVNVP.SPACE_DIRECTORY_HANDLE,
31
+ SpaceAction: () => import_chunk_DDZYVNVP.SpaceAction,
32
+ SpaceForm: () => import_chunk_DDZYVNVP.SpaceForm,
33
+ SpaceSettingsSchema: () => import_chunk_DDZYVNVP.SpaceSettingsSchema,
34
+ ThreadStatus: () => import_chunk_DDZYVNVP.ThreadStatus,
35
+ ThreadType: () => import_chunk_DDZYVNVP.ThreadType
32
36
  });
33
37
  module.exports = __toCommonJS(types_exports);
34
- var import_chunk_6SNOZF7Y = require("../chunk-6SNOZF7Y.cjs");
38
+ var import_chunk_DDZYVNVP = require("../chunk-DDZYVNVP.cjs");
39
+ var import_chunk_AO4EW2RX = require("../chunk-AO4EW2RX.cjs");
35
40
  // Annotate the CommonJS export names for ESM import in node:
36
41
  0 && (module.exports = {
42
+ ActiveParts,
37
43
  ActorSchema,
38
44
  ChannelType,
45
+ CollectionAction,
39
46
  CollectionType,
40
47
  ContactType,
41
48
  MessageState,
42
49
  MessageType,
50
+ SPACE_ACTION,
43
51
  SPACE_DIRECTORY_HANDLE,
52
+ SpaceAction,
44
53
  SpaceForm,
54
+ SpaceSettingsSchema,
45
55
  ThreadStatus,
46
- ThreadType,
47
- parseSchemaPlugin
56
+ ThreadType
48
57
  });
49
58
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n ActorSchema,\n ChannelType,\n CollectionType,\n ContactType,\n MessageState,\n MessageType,\n SPACE_DIRECTORY_HANDLE,\n SpaceForm,\n ThreadStatus,\n ThreadType,\n parseSchemaPlugin\n} from \"../chunk-6SNOZF7Y.cjs\";\nexport {\n ActorSchema,\n ChannelType,\n CollectionType,\n ContactType,\n MessageState,\n MessageType,\n SPACE_DIRECTORY_HANDLE,\n SpaceForm,\n ThreadStatus,\n ThreadType,\n parseSchemaPlugin\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAYO;",
4
+ "sourcesContent": ["import {\n ActiveParts,\n ActorSchema,\n ChannelType,\n CollectionAction,\n CollectionType,\n ContactType,\n MessageState,\n MessageType,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType\n} from \"../chunk-DDZYVNVP.cjs\";\nimport \"../chunk-AO4EW2RX.cjs\";\nexport {\n ActiveParts,\n ActorSchema,\n ChannelType,\n CollectionAction,\n CollectionType,\n ContactType,\n MessageState,\n MessageType,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAgBO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,366 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ SpaceCapabilities
4
+ } from "./chunk-375RB3CZ.mjs";
5
+ import {
6
+ SHARED,
7
+ SPACES,
8
+ constructObjectActions,
9
+ constructSpaceActions,
10
+ constructSpaceNode,
11
+ createObjectNode,
12
+ memoizeQuery
13
+ } from "./chunk-FUMGYUD3.mjs";
14
+ import {
15
+ CollectionType,
16
+ SpaceAction
17
+ } from "./chunk-CLGCKZ2D.mjs";
18
+ import {
19
+ SPACE_PLUGIN
20
+ } from "./chunk-7FUVU45N.mjs";
21
+
22
+ // packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts
23
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
24
+ import { Expando, Filter, FQ_ID_LENGTH, getSpace, isEchoObject, isSpace, OBJECT_ID_LENGTH, parseId, SPACE_ID_LENGTH, SpaceState } from "@dxos/client/echo";
25
+ import { getTypename, isDeleted } from "@dxos/live-object";
26
+ import { log } from "@dxos/log";
27
+ import { ClientCapabilities } from "@dxos/plugin-client";
28
+ import { createExtension, toSignal } from "@dxos/plugin-graph";
29
+ import { nonNullable } from "@dxos/util";
30
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
31
+ var app_graph_builder_default = (context) => {
32
+ const resolve = (typename) => context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
33
+ const spacesNode = {
34
+ id: SPACES,
35
+ type: SPACES,
36
+ cacheable: [
37
+ "label",
38
+ "role"
39
+ ],
40
+ properties: {
41
+ label: [
42
+ "spaces label",
43
+ {
44
+ ns: SPACE_PLUGIN
45
+ }
46
+ ],
47
+ testId: "spacePlugin.spaces",
48
+ role: "branch",
49
+ disabled: true,
50
+ childrenPersistenceClass: "echo",
51
+ onRearrangeChildren: async (nextOrder) => {
52
+ const { graph } = context.requestCapability(Capabilities.AppGraph);
53
+ const client = context.requestCapability(ClientCapabilities.Client);
54
+ graph._sortEdges(SPACES, "outbound", nextOrder.map(({ id }) => id));
55
+ const { objects: [spacesOrder] } = await client.spaces.default.db.query(Filter.schema(Expando, {
56
+ key: SHARED
57
+ })).run();
58
+ if (spacesOrder) {
59
+ spacesOrder.order = nextOrder.map(({ id }) => id);
60
+ } else {
61
+ log.warn("spaces order object not found", void 0, {
62
+ F: __dxlog_file,
63
+ L: 72,
64
+ S: void 0,
65
+ C: (f, a) => f(...a)
66
+ });
67
+ }
68
+ }
69
+ }
70
+ };
71
+ return contributes(Capabilities.AppGraphBuilder, [
72
+ // Primary actions.
73
+ createExtension({
74
+ id: `${SPACE_PLUGIN}/primary-actions`,
75
+ disposition: "hoist",
76
+ filter: (node) => node.id === "root",
77
+ actions: () => [
78
+ {
79
+ id: SpaceAction.OpenCreateSpace._tag,
80
+ data: async () => {
81
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
82
+ await dispatch(createIntent(SpaceAction.OpenCreateSpace));
83
+ },
84
+ properties: {
85
+ label: [
86
+ "create space label",
87
+ {
88
+ ns: SPACE_PLUGIN
89
+ }
90
+ ],
91
+ icon: "ph--plus--regular",
92
+ testId: "spacePlugin.createSpace",
93
+ disposition: "item"
94
+ }
95
+ },
96
+ {
97
+ id: SpaceAction.Join._tag,
98
+ data: async () => {
99
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
100
+ await dispatch(createIntent(SpaceAction.Join));
101
+ },
102
+ properties: {
103
+ label: [
104
+ "join space label",
105
+ {
106
+ ns: SPACE_PLUGIN
107
+ }
108
+ ],
109
+ icon: "ph--sign-in--regular",
110
+ testId: "spacePlugin.joinSpace",
111
+ disposition: "item"
112
+ }
113
+ }
114
+ ]
115
+ }),
116
+ // Create spaces group node.
117
+ createExtension({
118
+ id: `${SPACE_PLUGIN}/root`,
119
+ disposition: "hoist",
120
+ filter: (node) => node.id === "root",
121
+ connector: () => [
122
+ spacesNode
123
+ ],
124
+ resolver: ({ id }) => id === SPACES ? spacesNode : void 0
125
+ }),
126
+ // Create space nodes.
127
+ createExtension({
128
+ id: SPACES,
129
+ filter: (node) => node.id === SPACES,
130
+ connector: () => {
131
+ const client = context.requestCapability(ClientCapabilities.Client);
132
+ const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
133
+ const isReady = toSignal((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
134
+ if (!spaces || !isReady) {
135
+ return;
136
+ }
137
+ const state = context.requestCapability(SpaceCapabilities.State);
138
+ const settings = context.requestCapabilities(Capabilities.SettingsStore)[0]?.getStore(SPACE_PLUGIN)?.value;
139
+ try {
140
+ const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, {
141
+ key: SHARED
142
+ }));
143
+ const order = spacesOrder?.order ?? [];
144
+ const orderMap = new Map(order.map((id, index) => [
145
+ id,
146
+ index
147
+ ]));
148
+ return [
149
+ ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
150
+ ...spaces.filter((space) => !orderMap.has(space.id))
151
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE).map((space) => constructSpaceNode({
152
+ space,
153
+ navigable: state.navigableCollections,
154
+ personal: space === client.spaces.default,
155
+ namesCache: state.spaceNames,
156
+ resolve
157
+ }));
158
+ } catch {
159
+ }
160
+ },
161
+ resolver: ({ id }) => {
162
+ if (id.length !== SPACE_ID_LENGTH) {
163
+ return;
164
+ }
165
+ const client = context.requestCapability(ClientCapabilities.Client);
166
+ const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
167
+ const isReady = toSignal((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
168
+ if (!spaces || !isReady) {
169
+ return;
170
+ }
171
+ const space = spaces.find((space2) => space2.id === id);
172
+ if (!space) {
173
+ return;
174
+ }
175
+ if (space.state.get() === SpaceState.SPACE_INACTIVE) {
176
+ return false;
177
+ } else {
178
+ const state = context.requestCapability(SpaceCapabilities.State);
179
+ return constructSpaceNode({
180
+ space,
181
+ navigable: state.navigableCollections,
182
+ personal: space === client.spaces.default,
183
+ namesCache: state.spaceNames,
184
+ resolve
185
+ });
186
+ }
187
+ }
188
+ }),
189
+ // Create space actions.
190
+ createExtension({
191
+ id: `${SPACE_PLUGIN}/actions`,
192
+ filter: (node) => isSpace(node.data),
193
+ actions: ({ node }) => {
194
+ const space = node.data;
195
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
196
+ const client = context.requestCapability(ClientCapabilities.Client);
197
+ const state = context.requestCapability(SpaceCapabilities.State);
198
+ return constructSpaceActions({
199
+ space,
200
+ dispatch,
201
+ personal: space === client.spaces.default,
202
+ migrating: state.sdkMigrationRunning[space.id]
203
+ });
204
+ }
205
+ }),
206
+ // Create nodes for objects in the root collection of a space.
207
+ createExtension({
208
+ id: `${SPACE_PLUGIN}/root-collection`,
209
+ filter: (node) => isSpace(node.data),
210
+ connector: ({ node }) => {
211
+ const space = node.data;
212
+ const spaceState = toSignal((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
213
+ if (spaceState !== SpaceState.SPACE_READY) {
214
+ return;
215
+ }
216
+ const collection = space.properties[CollectionType.typename]?.target;
217
+ if (!collection) {
218
+ return;
219
+ }
220
+ const state = context.requestCapability(SpaceCapabilities.State);
221
+ return collection.objects.map((object) => object.target).filter(nonNullable).map((object) => createObjectNode({
222
+ object,
223
+ space,
224
+ resolve,
225
+ navigable: state.navigableCollections
226
+ })).filter(nonNullable);
227
+ }
228
+ }),
229
+ // Create nodes for objects in a collection or by its fully qualified id.
230
+ createExtension({
231
+ id: `${SPACE_PLUGIN}/objects`,
232
+ filter: (node) => node.data instanceof CollectionType,
233
+ connector: ({ node }) => {
234
+ const collection = node.data;
235
+ const space = getSpace(collection);
236
+ if (!space) {
237
+ return;
238
+ }
239
+ const state = context.requestCapability(SpaceCapabilities.State);
240
+ return collection.objects.map((object) => object.target).filter(nonNullable).map((object) => createObjectNode({
241
+ object,
242
+ space,
243
+ resolve,
244
+ navigable: state.navigableCollections
245
+ })).filter(nonNullable);
246
+ },
247
+ resolver: ({ id }) => {
248
+ if (id.length !== FQ_ID_LENGTH) {
249
+ return;
250
+ }
251
+ const [spaceId, objectId] = id.split(":");
252
+ if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {
253
+ return;
254
+ }
255
+ const client = context.requestCapability(ClientCapabilities.Client);
256
+ const space = client.spaces.get().find((space2) => space2.id === spaceId);
257
+ if (!space) {
258
+ return;
259
+ }
260
+ const spaceState = toSignal((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
261
+ if (spaceState !== SpaceState.SPACE_READY) {
262
+ return;
263
+ }
264
+ const [object] = memoizeQuery(space, {
265
+ id: objectId
266
+ });
267
+ if (!object) {
268
+ return;
269
+ }
270
+ if (isDeleted(object)) {
271
+ return false;
272
+ } else {
273
+ const state = context.requestCapability(SpaceCapabilities.State);
274
+ return createObjectNode({
275
+ object,
276
+ space,
277
+ resolve,
278
+ navigable: state.navigableCollections
279
+ });
280
+ }
281
+ }
282
+ }),
283
+ // Create collection actions and action groups.
284
+ createExtension({
285
+ id: `${SPACE_PLUGIN}/object-actions`,
286
+ filter: (node) => isEchoObject(node.data),
287
+ actions: ({ node }) => {
288
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
289
+ const state = context.requestCapability(SpaceCapabilities.State);
290
+ return constructObjectActions({
291
+ node,
292
+ dispatch,
293
+ navigable: state.navigableCollections
294
+ });
295
+ }
296
+ }),
297
+ // Create nodes for object settings.
298
+ createExtension({
299
+ id: `${SPACE_PLUGIN}/settings-for-subject`,
300
+ resolver: ({ id }) => {
301
+ if (!id.endsWith("~settings")) {
302
+ return;
303
+ }
304
+ const type = "orphan-settings-for-subject";
305
+ const icon = "ph--gear--regular";
306
+ const [subjectId] = id.split("~");
307
+ const { spaceId, objectId } = parseId(subjectId);
308
+ const client = context.requestCapability(ClientCapabilities.Client);
309
+ const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
310
+ const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
311
+ if (!objectId) {
312
+ const label2 = space ? space.properties.name || [
313
+ "unnamed space label",
314
+ {
315
+ ns: SPACE_PLUGIN
316
+ }
317
+ ] : [
318
+ "unnamed object settings label",
319
+ {
320
+ ns: SPACE_PLUGIN
321
+ }
322
+ ];
323
+ return {
324
+ id,
325
+ type,
326
+ data: null,
327
+ properties: {
328
+ icon,
329
+ label: label2,
330
+ showResolvedThreads: false,
331
+ object: null,
332
+ space
333
+ }
334
+ };
335
+ }
336
+ const [object] = memoizeQuery(space, {
337
+ id: objectId
338
+ });
339
+ if (!object || !subjectId) {
340
+ return;
341
+ }
342
+ const meta = resolve(getTypename(object) ?? "");
343
+ const label = meta.label?.(object) || object.name || meta.placeholder || [
344
+ "unnamed object settings label",
345
+ {
346
+ ns: SPACE_PLUGIN
347
+ }
348
+ ];
349
+ return {
350
+ id,
351
+ type,
352
+ data: null,
353
+ properties: {
354
+ icon,
355
+ label,
356
+ object
357
+ }
358
+ };
359
+ }
360
+ })
361
+ ]);
362
+ };
363
+ export {
364
+ app_graph_builder_default as default
365
+ };
366
+ //# sourceMappingURL=app-graph-builder-CD6IYPSS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n isSpace,\n OBJECT_ID_LENGTH,\n parseId,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n} from '@dxos/client/echo';\nimport { getTypename, isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, toSignal, type Node } from '@dxos/plugin-graph';\nimport { nonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n disposition: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'item',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'item',\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n disposition: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => isSpace(node.data),\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => isSpace(node.data),\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(nonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(nonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Create nodes for object settings.\n createExtension({\n id: `${SPACE_PLUGIN}/settings-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one).\n if (!id.endsWith('~settings')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--gear--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);\n if (!objectId) {\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: SPACE_PLUGIN }]\n : ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: SPACE_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "isSpace", "OBJECT_ID_LENGTH", "parseId", "SPACE_ID_LENGTH", "SpaceState", "getTypename", "isDeleted", "log", "ClientCapabilities", "createExtension", "toSignal", "nonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "testId", "role", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "disposition", "filter", "node", "actions", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "icon", "Join", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "get", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "space", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "isSpace", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "SPACE_READY", "collection", "CollectionType", "target", "object", "nonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "spaceId", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "endsWith", "subjectId", "parseId", "name", "showResolvedThreads", "meta", "getTypename", "placeholder"]
7
+ }
@@ -0,0 +1,81 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ translations_default
4
+ } from "./chunk-M4XTHK35.mjs";
5
+ import {
6
+ SPACES,
7
+ SPACE_TYPE
8
+ } from "./chunk-FUMGYUD3.mjs";
9
+ import {
10
+ CollectionType,
11
+ SpaceAction
12
+ } from "./chunk-CLGCKZ2D.mjs";
13
+ import {
14
+ SPACE_PLUGIN
15
+ } from "./chunk-7FUVU45N.mjs";
16
+
17
+ // packages/plugins/plugin-space/src/capabilities/app-graph-serializer.ts
18
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
19
+ import { isSpace } from "@dxos/client/echo";
20
+ import { create } from "@dxos/live-object";
21
+ var DIRECTORY_TYPE = "text/directory";
22
+ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGraphSerializer, [
23
+ {
24
+ inputType: SPACES,
25
+ outputType: DIRECTORY_TYPE,
26
+ serialize: (node) => ({
27
+ name: translations_default[0]["en-US"][SPACE_PLUGIN]["spaces label"],
28
+ data: translations_default[0]["en-US"][SPACE_PLUGIN]["spaces label"],
29
+ type: DIRECTORY_TYPE
30
+ }),
31
+ deserialize: () => {
32
+ }
33
+ },
34
+ {
35
+ inputType: SPACE_TYPE,
36
+ outputType: DIRECTORY_TYPE,
37
+ serialize: (node) => ({
38
+ name: node.data.properties.name ?? translations_default[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
39
+ data: node.data.properties.name ?? translations_default[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
40
+ type: DIRECTORY_TYPE
41
+ }),
42
+ deserialize: async (data) => {
43
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
44
+ const result = await dispatch(createIntent(SpaceAction.Create, {
45
+ name: data.name,
46
+ edgeReplication: true
47
+ }));
48
+ return result.data?.space;
49
+ }
50
+ },
51
+ {
52
+ inputType: CollectionType.typename,
53
+ outputType: DIRECTORY_TYPE,
54
+ serialize: (node) => ({
55
+ name: node.data.name ?? translations_default[0]["en-US"][SPACE_PLUGIN]["unnamed collection label"],
56
+ data: node.data.name ?? translations_default[0]["en-US"][SPACE_PLUGIN]["unnamed collection label"],
57
+ type: DIRECTORY_TYPE
58
+ }),
59
+ deserialize: async (data, ancestors) => {
60
+ const space = ancestors.find(isSpace);
61
+ const collection = ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ?? space?.properties[CollectionType.typename]?.target;
62
+ if (!space || !collection) {
63
+ return;
64
+ }
65
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
66
+ const result = await dispatch(createIntent(SpaceAction.AddObject, {
67
+ target: collection,
68
+ object: create(CollectionType, {
69
+ name: data.name,
70
+ objects: [],
71
+ views: {}
72
+ })
73
+ }));
74
+ return result.data?.object;
75
+ }
76
+ }
77
+ ]);
78
+ export {
79
+ app_graph_serializer_default as default
80
+ };
81
+ //# sourceMappingURL=app-graph-serializer-CFXS6ZE2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { create } from '@dxos/live-object';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport translations from '../translations';\nimport { CollectionType, SpaceAction } from '../types';\nimport { SPACES, SPACE_TYPE } from '../util';\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: CollectionType.typename,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed collection label'],\n data: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed collection label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: create(CollectionType, { name: data.name, objects: [], views: {} }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,oBAAyC;AAC7E,SAASC,eAAe;AACxB,SAASC,cAAc;AAQvB,IAAMC,iBAAiB;AAEvB,IAAA,+BAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CC,MAAMF,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CE,MAAMd;IACR;IACAe,aAAa,MAAA;IAEb;EACF;EACA;IACEV,WAAWW;IACXT,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EC,MAAMJ,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EE,MAAMd;IACR;IACAe,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,aAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEf,MAAMG,KAAKH;QAAMgB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEtB,WAAWuB,eAAeC;IAC1BtB,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,0BAAA;MAC/DC,MAAMJ,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,0BAAA;MAC/DE,MAAMd;IACR;IACAe,aAAa,OAAOF,MAAMiB,cAAAA;AACxB,YAAMH,QAAQG,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaA,oBAAoBP,cAAAA,KACrDD,OAAOV,WAAWW,eAAeC,QAAQ,GAAGO;AAC9C,UAAI,CAACT,SAAS,CAACM,YAAY;AACzB;MACF;AAEA,YAAM,EAAEf,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,aAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQH;QACRK,QAAQC,OAAOX,gBAAgB;UAAElB,MAAMG,KAAKH;UAAM8B,SAAS,CAAA;UAAIC,OAAO,CAAC;QAAE,CAAA;MAC3E,CAAA,CAAA;AAGF,aAAOnB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "isSpace", "create", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "SPACE_PLUGIN", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "CollectionType", "typename", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "target", "AddObject", "object", "create", "objects", "views"]
7
+ }
@@ -0,0 +1,22 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ SPACE_PLUGIN
4
+ } from "./chunk-7FUVU45N.mjs";
5
+
6
+ // packages/plugins/plugin-space/src/capabilities/capabilities.ts
7
+ import { defineCapability } from "@dxos/app-framework";
8
+ var SpaceCapabilities;
9
+ (function(SpaceCapabilities2) {
10
+ SpaceCapabilities2.State = defineCapability(`${SPACE_PLUGIN}/capability/state`);
11
+ SpaceCapabilities2.MutableState = defineCapability(`${SPACE_PLUGIN}/capability/state`);
12
+ })(SpaceCapabilities || (SpaceCapabilities = {}));
13
+ var ThreadCapabilities;
14
+ (function(ThreadCapabilities2) {
15
+ ThreadCapabilities2.Thread = defineCapability(`${SPACE_PLUGIN}/capability/thread`);
16
+ })(ThreadCapabilities || (ThreadCapabilities = {}));
17
+
18
+ export {
19
+ SpaceCapabilities,
20
+ ThreadCapabilities
21
+ };
22
+ //# sourceMappingURL=chunk-375RB3CZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/capabilities.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${SPACE_PLUGIN}/capability/state`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadCapabilities {\n type ThreadCapability<T = any> = {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n export const Thread = defineCapability<ThreadCapability>(`${SPACE_PLUGIN}/capability/thread`);\n}\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,wBAAwB;;UAMhBC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,YAAAA,mBAA+B;qBACtFC,eAAeF,iBAA8B,GAAGC,YAAAA,mBAA+B;AAC9F,GAHiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;UAMAK,qBAAAA;sBAKFC,SAASJ,iBAAmC,GAAGC,YAAAA,oBAAgC;AAC9F,GANiBE,uBAAAA,qBAAAA,CAAAA,EAAAA;",
6
+ "names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "SPACE_PLUGIN", "MutableState", "ThreadCapabilities", "Thread"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // packages/plugins/plugin-space/src/meta.ts
4
+ var SPACE_PLUGIN = "dxos.org/plugin/space";
5
+ var meta = {
6
+ id: SPACE_PLUGIN,
7
+ name: "Spaces"
8
+ };
9
+
10
+ export {
11
+ SPACE_PLUGIN,
12
+ meta
13
+ };
14
+ //# sourceMappingURL=chunk-7FUVU45N.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SPACE_PLUGIN = 'dxos.org/plugin/space';\n\nexport const meta = {\n id: SPACE_PLUGIN,\n name: 'Spaces',\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";;;AAMO,IAAMA,eAAe;AAErB,IAAMC,OAAO;EAClBC,IAAIF;EACJG,MAAM;AACR;",
6
+ "names": ["SPACE_PLUGIN", "meta", "id", "name"]
7
+ }