@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
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var app_graph_builder_ZQ5S62YR_exports = {};
20
+ __export(app_graph_builder_ZQ5S62YR_exports, {
21
+ default: () => app_graph_builder_default
22
+ });
23
+ module.exports = __toCommonJS(app_graph_builder_ZQ5S62YR_exports);
24
+ var import_chunk_56NGXG2A = require("./chunk-56NGXG2A.cjs");
25
+ var import_chunk_Z34MTEU7 = require("./chunk-Z34MTEU7.cjs");
26
+ var import_chunk_DDZYVNVP = require("./chunk-DDZYVNVP.cjs");
27
+ var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
28
+ var import_app_framework = require("@dxos/app-framework");
29
+ var import_echo = require("@dxos/client/echo");
30
+ var import_live_object = require("@dxos/live-object");
31
+ var import_log = require("@dxos/log");
32
+ var import_plugin_client = require("@dxos/plugin-client");
33
+ var import_plugin_graph = require("@dxos/plugin-graph");
34
+ var import_util = require("@dxos/util");
35
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
36
+ var app_graph_builder_default = (context) => {
37
+ const resolve = (typename) => context.requestCapabilities(import_app_framework.Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
38
+ const spacesNode = {
39
+ id: import_chunk_Z34MTEU7.SPACES,
40
+ type: import_chunk_Z34MTEU7.SPACES,
41
+ cacheable: [
42
+ "label",
43
+ "role"
44
+ ],
45
+ properties: {
46
+ label: [
47
+ "spaces label",
48
+ {
49
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
50
+ }
51
+ ],
52
+ testId: "spacePlugin.spaces",
53
+ role: "branch",
54
+ disabled: true,
55
+ childrenPersistenceClass: "echo",
56
+ onRearrangeChildren: async (nextOrder) => {
57
+ const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
58
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
59
+ graph._sortEdges(import_chunk_Z34MTEU7.SPACES, "outbound", nextOrder.map(({ id }) => id));
60
+ const { objects: [spacesOrder] } = await client.spaces.default.db.query(import_echo.Filter.schema(import_echo.Expando, {
61
+ key: import_chunk_Z34MTEU7.SHARED
62
+ })).run();
63
+ if (spacesOrder) {
64
+ spacesOrder.order = nextOrder.map(({ id }) => id);
65
+ } else {
66
+ import_log.log.warn("spaces order object not found", void 0, {
67
+ F: __dxlog_file,
68
+ L: 72,
69
+ S: void 0,
70
+ C: (f, a) => f(...a)
71
+ });
72
+ }
73
+ }
74
+ }
75
+ };
76
+ return (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
77
+ // Primary actions.
78
+ (0, import_plugin_graph.createExtension)({
79
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/primary-actions`,
80
+ disposition: "hoist",
81
+ filter: (node) => node.id === "root",
82
+ actions: () => [
83
+ {
84
+ id: import_chunk_DDZYVNVP.SpaceAction.OpenCreateSpace._tag,
85
+ data: async () => {
86
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
87
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.OpenCreateSpace));
88
+ },
89
+ properties: {
90
+ label: [
91
+ "create space label",
92
+ {
93
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
94
+ }
95
+ ],
96
+ icon: "ph--plus--regular",
97
+ testId: "spacePlugin.createSpace",
98
+ disposition: "item"
99
+ }
100
+ },
101
+ {
102
+ id: import_chunk_DDZYVNVP.SpaceAction.Join._tag,
103
+ data: async () => {
104
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
105
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.Join));
106
+ },
107
+ properties: {
108
+ label: [
109
+ "join space label",
110
+ {
111
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
112
+ }
113
+ ],
114
+ icon: "ph--sign-in--regular",
115
+ testId: "spacePlugin.joinSpace",
116
+ disposition: "item"
117
+ }
118
+ }
119
+ ]
120
+ }),
121
+ // Create spaces group node.
122
+ (0, import_plugin_graph.createExtension)({
123
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/root`,
124
+ disposition: "hoist",
125
+ filter: (node) => node.id === "root",
126
+ connector: () => [
127
+ spacesNode
128
+ ],
129
+ resolver: ({ id }) => id === import_chunk_Z34MTEU7.SPACES ? spacesNode : void 0
130
+ }),
131
+ // Create space nodes.
132
+ (0, import_plugin_graph.createExtension)({
133
+ id: import_chunk_Z34MTEU7.SPACES,
134
+ filter: (node) => node.id === import_chunk_Z34MTEU7.SPACES,
135
+ connector: () => {
136
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
137
+ const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
138
+ const isReady = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
139
+ if (!spaces || !isReady) {
140
+ return;
141
+ }
142
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
143
+ const settings = context.requestCapabilities(import_app_framework.Capabilities.SettingsStore)[0]?.getStore(import_chunk_AO4EW2RX.SPACE_PLUGIN)?.value;
144
+ try {
145
+ const [spacesOrder] = (0, import_chunk_Z34MTEU7.memoizeQuery)(client.spaces.default, import_echo.Filter.schema(import_echo.Expando, {
146
+ key: import_chunk_Z34MTEU7.SHARED
147
+ }));
148
+ const order = spacesOrder?.order ?? [];
149
+ const orderMap = new Map(order.map((id, index) => [
150
+ id,
151
+ index
152
+ ]));
153
+ return [
154
+ ...spaces.filter((space) => orderMap.has(space.id)).sort((a, b) => orderMap.get(a.id) - orderMap.get(b.id)),
155
+ ...spaces.filter((space) => !orderMap.has(space.id))
156
+ ].filter((space) => settings?.showHidden ? true : space.state.get() !== import_echo.SpaceState.SPACE_INACTIVE).map((space) => (0, import_chunk_Z34MTEU7.constructSpaceNode)({
157
+ space,
158
+ navigable: state.navigableCollections,
159
+ personal: space === client.spaces.default,
160
+ namesCache: state.spaceNames,
161
+ resolve
162
+ }));
163
+ } catch {
164
+ }
165
+ },
166
+ resolver: ({ id }) => {
167
+ if (id.length !== import_echo.SPACE_ID_LENGTH) {
168
+ return;
169
+ }
170
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
171
+ const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
172
+ const isReady = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe, () => client.spaces.isReady.get());
173
+ if (!spaces || !isReady) {
174
+ return;
175
+ }
176
+ const space = spaces.find((space2) => space2.id === id);
177
+ if (!space) {
178
+ return;
179
+ }
180
+ if (space.state.get() === import_echo.SpaceState.SPACE_INACTIVE) {
181
+ return false;
182
+ } else {
183
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
184
+ return (0, import_chunk_Z34MTEU7.constructSpaceNode)({
185
+ space,
186
+ navigable: state.navigableCollections,
187
+ personal: space === client.spaces.default,
188
+ namesCache: state.spaceNames,
189
+ resolve
190
+ });
191
+ }
192
+ }
193
+ }),
194
+ // Create space actions.
195
+ (0, import_plugin_graph.createExtension)({
196
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/actions`,
197
+ filter: (node) => (0, import_echo.isSpace)(node.data),
198
+ actions: ({ node }) => {
199
+ const space = node.data;
200
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
201
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
202
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
203
+ return (0, import_chunk_Z34MTEU7.constructSpaceActions)({
204
+ space,
205
+ dispatch,
206
+ personal: space === client.spaces.default,
207
+ migrating: state.sdkMigrationRunning[space.id]
208
+ });
209
+ }
210
+ }),
211
+ // Create nodes for objects in the root collection of a space.
212
+ (0, import_plugin_graph.createExtension)({
213
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/root-collection`,
214
+ filter: (node) => (0, import_echo.isSpace)(node.data),
215
+ connector: ({ node }) => {
216
+ const space = node.data;
217
+ const spaceState = (0, import_plugin_graph.toSignal)((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
218
+ if (spaceState !== import_echo.SpaceState.SPACE_READY) {
219
+ return;
220
+ }
221
+ const collection = space.properties[import_chunk_DDZYVNVP.CollectionType.typename]?.target;
222
+ if (!collection) {
223
+ return;
224
+ }
225
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
226
+ return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0, import_chunk_Z34MTEU7.createObjectNode)({
227
+ object,
228
+ space,
229
+ resolve,
230
+ navigable: state.navigableCollections
231
+ })).filter(import_util.nonNullable);
232
+ }
233
+ }),
234
+ // Create nodes for objects in a collection or by its fully qualified id.
235
+ (0, import_plugin_graph.createExtension)({
236
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/objects`,
237
+ filter: (node) => node.data instanceof import_chunk_DDZYVNVP.CollectionType,
238
+ connector: ({ node }) => {
239
+ const collection = node.data;
240
+ const space = (0, import_echo.getSpace)(collection);
241
+ if (!space) {
242
+ return;
243
+ }
244
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
245
+ return collection.objects.map((object) => object.target).filter(import_util.nonNullable).map((object) => (0, import_chunk_Z34MTEU7.createObjectNode)({
246
+ object,
247
+ space,
248
+ resolve,
249
+ navigable: state.navigableCollections
250
+ })).filter(import_util.nonNullable);
251
+ },
252
+ resolver: ({ id }) => {
253
+ if (id.length !== import_echo.FQ_ID_LENGTH) {
254
+ return;
255
+ }
256
+ const [spaceId, objectId] = id.split(":");
257
+ if (spaceId.length !== import_echo.SPACE_ID_LENGTH && objectId.length !== import_echo.OBJECT_ID_LENGTH) {
258
+ return;
259
+ }
260
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
261
+ const space = client.spaces.get().find((space2) => space2.id === spaceId);
262
+ if (!space) {
263
+ return;
264
+ }
265
+ const spaceState = (0, import_plugin_graph.toSignal)((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get(), space.id);
266
+ if (spaceState !== import_echo.SpaceState.SPACE_READY) {
267
+ return;
268
+ }
269
+ const [object] = (0, import_chunk_Z34MTEU7.memoizeQuery)(space, {
270
+ id: objectId
271
+ });
272
+ if (!object) {
273
+ return;
274
+ }
275
+ if ((0, import_live_object.isDeleted)(object)) {
276
+ return false;
277
+ } else {
278
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
279
+ return (0, import_chunk_Z34MTEU7.createObjectNode)({
280
+ object,
281
+ space,
282
+ resolve,
283
+ navigable: state.navigableCollections
284
+ });
285
+ }
286
+ }
287
+ }),
288
+ // Create collection actions and action groups.
289
+ (0, import_plugin_graph.createExtension)({
290
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/object-actions`,
291
+ filter: (node) => (0, import_echo.isEchoObject)(node.data),
292
+ actions: ({ node }) => {
293
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
294
+ const state = context.requestCapability(import_chunk_56NGXG2A.SpaceCapabilities.State);
295
+ return (0, import_chunk_Z34MTEU7.constructObjectActions)({
296
+ node,
297
+ dispatch,
298
+ navigable: state.navigableCollections
299
+ });
300
+ }
301
+ }),
302
+ // Create nodes for object settings.
303
+ (0, import_plugin_graph.createExtension)({
304
+ id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/settings-for-subject`,
305
+ resolver: ({ id }) => {
306
+ if (!id.endsWith("~settings")) {
307
+ return;
308
+ }
309
+ const type = "orphan-settings-for-subject";
310
+ const icon = "ph--gear--regular";
311
+ const [subjectId] = id.split("~");
312
+ const { spaceId, objectId } = (0, import_echo.parseId)(subjectId);
313
+ const client = context.requestCapability(import_plugin_client.ClientCapabilities.Client);
314
+ const spaces = (0, import_plugin_graph.toSignal)((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
315
+ const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === import_echo.SpaceState.SPACE_READY);
316
+ if (!objectId) {
317
+ const label2 = space ? space.properties.name || [
318
+ "unnamed space label",
319
+ {
320
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
321
+ }
322
+ ] : [
323
+ "unnamed object settings label",
324
+ {
325
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
326
+ }
327
+ ];
328
+ return {
329
+ id,
330
+ type,
331
+ data: null,
332
+ properties: {
333
+ icon,
334
+ label: label2,
335
+ showResolvedThreads: false,
336
+ object: null,
337
+ space
338
+ }
339
+ };
340
+ }
341
+ const [object] = (0, import_chunk_Z34MTEU7.memoizeQuery)(space, {
342
+ id: objectId
343
+ });
344
+ if (!object || !subjectId) {
345
+ return;
346
+ }
347
+ const meta = resolve((0, import_live_object.getTypename)(object) ?? "");
348
+ const label = meta.label?.(object) || object.name || meta.placeholder || [
349
+ "unnamed object settings label",
350
+ {
351
+ ns: import_chunk_AO4EW2RX.SPACE_PLUGIN
352
+ }
353
+ ];
354
+ return {
355
+ id,
356
+ type,
357
+ data: null,
358
+ properties: {
359
+ icon,
360
+ label,
361
+ object
362
+ }
363
+ };
364
+ }
365
+ })
366
+ ]);
367
+ };
368
+ //# sourceMappingURL=app-graph-builder-ZQ5S62YR.cjs.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": ["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,88 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var app_graph_serializer_72S7P33H_exports = {};
20
+ __export(app_graph_serializer_72S7P33H_exports, {
21
+ default: () => app_graph_serializer_default
22
+ });
23
+ module.exports = __toCommonJS(app_graph_serializer_72S7P33H_exports);
24
+ var import_chunk_BQRNTKSQ = require("./chunk-BQRNTKSQ.cjs");
25
+ var import_chunk_Z34MTEU7 = require("./chunk-Z34MTEU7.cjs");
26
+ var import_chunk_DDZYVNVP = require("./chunk-DDZYVNVP.cjs");
27
+ var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
28
+ var import_app_framework = require("@dxos/app-framework");
29
+ var import_echo = require("@dxos/client/echo");
30
+ var import_live_object = require("@dxos/live-object");
31
+ var DIRECTORY_TYPE = "text/directory";
32
+ var app_graph_serializer_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphSerializer, [
33
+ {
34
+ inputType: import_chunk_Z34MTEU7.SPACES,
35
+ outputType: DIRECTORY_TYPE,
36
+ serialize: (node) => ({
37
+ name: import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["spaces label"],
38
+ data: import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["spaces label"],
39
+ type: DIRECTORY_TYPE
40
+ }),
41
+ deserialize: () => {
42
+ }
43
+ },
44
+ {
45
+ inputType: import_chunk_Z34MTEU7.SPACE_TYPE,
46
+ outputType: DIRECTORY_TYPE,
47
+ serialize: (node) => ({
48
+ name: node.data.properties.name ?? import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["unnamed space label"],
49
+ data: node.data.properties.name ?? import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["unnamed space label"],
50
+ type: DIRECTORY_TYPE
51
+ }),
52
+ deserialize: async (data) => {
53
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
54
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.Create, {
55
+ name: data.name,
56
+ edgeReplication: true
57
+ }));
58
+ return result.data?.space;
59
+ }
60
+ },
61
+ {
62
+ inputType: import_chunk_DDZYVNVP.CollectionType.typename,
63
+ outputType: DIRECTORY_TYPE,
64
+ serialize: (node) => ({
65
+ name: node.data.name ?? import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["unnamed collection label"],
66
+ data: node.data.name ?? import_chunk_BQRNTKSQ.translations_default[0]["en-US"][import_chunk_AO4EW2RX.SPACE_PLUGIN]["unnamed collection label"],
67
+ type: DIRECTORY_TYPE
68
+ }),
69
+ deserialize: async (data, ancestors) => {
70
+ const space = ancestors.find(import_echo.isSpace);
71
+ const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_DDZYVNVP.CollectionType) ?? space?.properties[import_chunk_DDZYVNVP.CollectionType.typename]?.target;
72
+ if (!space || !collection) {
73
+ return;
74
+ }
75
+ const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework.Capabilities.IntentDispatcher);
76
+ const result = await dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.AddObject, {
77
+ target: collection,
78
+ object: (0, import_live_object.create)(import_chunk_DDZYVNVP.CollectionType, {
79
+ name: data.name,
80
+ objects: [],
81
+ views: {}
82
+ })
83
+ }));
84
+ return result.data?.object;
85
+ }
86
+ }
87
+ ]);
88
+ //# sourceMappingURL=app-graph-serializer-72S7P33H.cjs.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,2BAA6E;AAC7E,kBAAwB;AACxB,yBAAuB;AAQvB,IAAMA,iBAAiB;AAEvB,IAAA,+BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,cAAA;MAC7CC,MAAMF,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,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,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,qBAAA;MAC1EC,MAAMJ,KAAKI,KAAKI,WAAWP,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,qBAAA;MAC1EE,MAAMd;IACR;IACAe,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,kCAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,aAASI,mCAAaC,kCAAYC,QAAQ;QAAEf,MAAMG,KAAKH;QAAMgB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEtB,WAAWuB,qCAAeC;IAC1BtB,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKH,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,0BAAA;MAC/DC,MAAMJ,KAAKI,KAAKH,QAAQC,2CAAa,CAAA,EAAG,OAAA,EAASC,kCAAAA,EAAc,0BAAA;MAC/DE,MAAMd;IACR;IACAe,aAAa,OAAOF,MAAMiB,cAAAA;AACxB,YAAMH,QAAQG,UAAUC,KAAKC,mBAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaA,oBAAoBP,oCAAAA,KACrDD,OAAOV,WAAWW,qCAAeC,QAAQ,GAAGO;AAC9C,UAAI,CAACT,SAAS,CAACM,YAAY;AACzB;MACF;AAEA,YAAM,EAAEf,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,kCAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,aACnBI,mCAAaC,kCAAYa,WAAW;QAClCD,QAAQH;QACRK,YAAQC,2BAAOX,sCAAgB;UAAElB,MAAMG,KAAKH;UAAM8B,SAAS,CAAA;UAAIC,OAAO,CAAC;QAAE,CAAA;MAC3E,CAAA,CAAA;AAGF,aAAOnB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
6
+ "names": ["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,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var chunk_56NGXG2A_exports = {};
20
+ __export(chunk_56NGXG2A_exports, {
21
+ SpaceCapabilities: () => SpaceCapabilities,
22
+ ThreadCapabilities: () => ThreadCapabilities
23
+ });
24
+ module.exports = __toCommonJS(chunk_56NGXG2A_exports);
25
+ var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
26
+ var import_app_framework = require("@dxos/app-framework");
27
+ var SpaceCapabilities;
28
+ (function(SpaceCapabilities2) {
29
+ SpaceCapabilities2.State = (0, import_app_framework.defineCapability)(`${import_chunk_AO4EW2RX.SPACE_PLUGIN}/capability/state`);
30
+ SpaceCapabilities2.MutableState = (0, import_app_framework.defineCapability)(`${import_chunk_AO4EW2RX.SPACE_PLUGIN}/capability/state`);
31
+ })(SpaceCapabilities || (SpaceCapabilities = {}));
32
+ var ThreadCapabilities;
33
+ (function(ThreadCapabilities2) {
34
+ ThreadCapabilities2.Thread = (0, import_app_framework.defineCapability)(`${import_chunk_AO4EW2RX.SPACE_PLUGIN}/capability/thread`);
35
+ })(ThreadCapabilities || (ThreadCapabilities = {}));
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ SpaceCapabilities,
39
+ ThreadCapabilities
40
+ });
41
+ //# sourceMappingURL=chunk-56NGXG2A.cjs.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,2BAAiC;;UAMhBA,oBAAAA;qBACFC,YAAQC,uCAA4C,GAAGC,kCAAAA,mBAA+B;qBACtFC,mBAAeF,uCAA8B,GAAGC,kCAAAA,mBAA+B;AAC9F,GAHiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;UAMAK,qBAAAA;sBAKFC,aAASJ,uCAAmC,GAAGC,kCAAAA,oBAAgC;AAC9F,GANiBE,uBAAAA,qBAAAA,CAAAA,EAAAA;",
6
+ "names": ["SpaceCapabilities", "State", "defineCapability", "SPACE_PLUGIN", "MutableState", "ThreadCapabilities", "Thread"]
7
+ }
@@ -16,21 +16,20 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var meta_exports = {};
20
- __export(meta_exports, {
21
- CollectionAction: () => import_chunk_QNVEU2UD.CollectionAction,
22
- SPACE_PLUGIN: () => import_chunk_QNVEU2UD.SPACE_PLUGIN,
23
- SPACE_PLUGIN_SHORT_ID: () => import_chunk_QNVEU2UD.SPACE_PLUGIN_SHORT_ID,
24
- SpaceAction: () => import_chunk_QNVEU2UD.SpaceAction,
25
- default: () => import_chunk_QNVEU2UD.meta_default
19
+ var chunk_AO4EW2RX_exports = {};
20
+ __export(chunk_AO4EW2RX_exports, {
21
+ SPACE_PLUGIN: () => SPACE_PLUGIN,
22
+ meta: () => meta
26
23
  });
27
- module.exports = __toCommonJS(meta_exports);
28
- var import_chunk_QNVEU2UD = require("./chunk-QNVEU2UD.cjs");
24
+ module.exports = __toCommonJS(chunk_AO4EW2RX_exports);
25
+ var SPACE_PLUGIN = "dxos.org/plugin/space";
26
+ var meta = {
27
+ id: SPACE_PLUGIN,
28
+ name: "Spaces"
29
+ };
29
30
  // Annotate the CommonJS export names for ESM import in node:
30
31
  0 && (module.exports = {
31
- CollectionAction,
32
32
  SPACE_PLUGIN,
33
- SPACE_PLUGIN_SHORT_ID,
34
- SpaceAction
33
+ meta
35
34
  });
36
- //# sourceMappingURL=meta.cjs.map
35
+ //# sourceMappingURL=chunk-AO4EW2RX.cjs.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
+ }