@dxos/plugin-space 0.8.2-main.36232bc → 0.8.2-main.5ca3450

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 (199) hide show
  1. package/dist/lib/browser/{app-graph-builder-ZWNOWRAX.mjs → app-graph-builder-I2BU35J5.mjs} +3 -3
  2. package/dist/lib/browser/app-graph-builder-I2BU35J5.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-HPYDOKA5.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-OS5QKO4Z.mjs} +2 -2
  5. package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-RERTVPBV.mjs} +2 -2
  6. package/dist/lib/browser/chunk-RERTVPBV.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-3KG2VMQL.mjs → chunk-TSX67XGX.mjs} +37 -27
  8. package/dist/lib/browser/chunk-TSX67XGX.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-YQNBTJI4.mjs +308 -0
  10. package/dist/lib/browser/chunk-YQNBTJI4.mjs.map +7 -0
  11. package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-DWFKBGOA.mjs} +2 -2
  12. package/dist/lib/browser/index.mjs +12 -12
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/{intent-resolver-U3UVTHQV.mjs → intent-resolver-GKDCJ4H2.mjs} +16 -9
  15. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +7 -0
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-root-63ZJ5IR6.mjs → react-root-667IZ2Q4.mjs} +4 -4
  18. package/dist/lib/browser/{react-surface-2OFMYE6E.mjs → react-surface-I4RNTGGN.mjs} +4 -4
  19. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +7 -0
  20. package/dist/lib/browser/{schema-FHTA26SW.mjs → schema-defs-FLFEUSLB.mjs} +4 -4
  21. package/dist/lib/browser/{schema-FHTA26SW.mjs.map → schema-defs-FLFEUSLB.mjs.map} +2 -2
  22. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  23. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-ILGGNYJ7.mjs} +2 -2
  25. package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-IXZF3RWW.mjs} +3 -3
  26. package/dist/lib/browser/types/index.mjs +1 -1
  27. package/dist/lib/node/{app-graph-builder-LLIV422L.cjs → app-graph-builder-H7MDHM3X.cjs} +33 -33
  28. package/dist/lib/node/app-graph-builder-H7MDHM3X.cjs.map +7 -0
  29. package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-G7UYFWG6.cjs} +20 -20
  30. package/dist/lib/node/{chunk-EQ5BPSQ7.cjs → chunk-AR3JHVCY.cjs} +119 -117
  31. package/dist/lib/node/chunk-AR3JHVCY.cjs.map +7 -0
  32. package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-EG3WAZLA.cjs} +27 -27
  33. package/dist/lib/node/chunk-EG3WAZLA.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-M7N2NCC4.cjs → chunk-HD4C6KKO.cjs} +63 -53
  35. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-NCSFM6RA.cjs} +6 -6
  37. package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-YLGVEWAJ.cjs} +6 -6
  38. package/dist/lib/node/index.cjs +67 -67
  39. package/dist/lib/node/index.cjs.map +3 -3
  40. package/dist/lib/node/{intent-resolver-4JWTDB67.cjs → intent-resolver-V7UJKLE7.cjs} +66 -59
  41. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +7 -0
  42. package/dist/lib/node/meta.json +1 -1
  43. package/dist/lib/node/{react-root-6T2UE4MX.cjs → react-root-I3SSFA5O.cjs} +8 -8
  44. package/dist/lib/node/{react-surface-6W7WFRBS.cjs → react-surface-OLMQCCYD.cjs} +44 -44
  45. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +7 -0
  46. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-PKZVL52M.cjs} +6 -6
  47. package/dist/lib/node/{schema-PPJ5BZ3A.cjs.map → schema-defs-PKZVL52M.cjs.map} +2 -2
  48. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  49. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  50. package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-7TC55JP4.cjs} +6 -6
  51. package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-4H3Q46GV.cjs} +11 -11
  52. package/dist/lib/node/types/index.cjs +15 -15
  53. package/dist/lib/node/types/index.cjs.map +1 -1
  54. package/dist/lib/node-esm/{app-graph-builder-HSGLCS76.mjs → app-graph-builder-NI7X6W3Q.mjs} +3 -3
  55. package/dist/lib/node-esm/app-graph-builder-NI7X6W3Q.mjs.map +7 -0
  56. package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-CVPYWWW3.mjs} +4 -4
  57. package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-B2P24Q5R.mjs} +2 -2
  58. package/dist/lib/node-esm/chunk-B2P24Q5R.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-RM7ZVPKM.mjs → chunk-BU6F7ZU4.mjs} +37 -27
  60. package/dist/lib/node-esm/chunk-BU6F7ZU4.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-FUH5OODY.mjs} +2 -2
  62. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs +309 -0
  63. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs.map +7 -0
  64. package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-7NHGER3Q.mjs} +2 -2
  65. package/dist/lib/node-esm/index.mjs +12 -12
  66. package/dist/lib/node-esm/index.mjs.map +3 -3
  67. package/dist/lib/node-esm/{intent-resolver-5PUGNEOK.mjs → intent-resolver-IL63YTIT.mjs} +16 -9
  68. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +7 -0
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/{react-root-YQKCDI3P.mjs → react-root-JEGVIVVK.mjs} +4 -4
  71. package/dist/lib/node-esm/{react-surface-UK2HIELM.mjs → react-surface-DRRXIJBE.mjs} +4 -4
  72. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +7 -0
  73. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs → schema-defs-IIEQR7B3.mjs} +4 -4
  74. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs.map → schema-defs-IIEQR7B3.mjs.map} +2 -2
  75. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  76. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-CXMV2AFR.mjs} +2 -2
  78. package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-QMXLQ4QV.mjs} +3 -3
  79. package/dist/lib/node-esm/types/index.mjs +1 -1
  80. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/index.d.ts +2 -2
  85. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/{schema.d.ts → schema-defs.d.ts} +1 -1
  89. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  91. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  94. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  95. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  96. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  97. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  98. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  99. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  100. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  101. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  102. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  103. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  104. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
  105. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  106. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  107. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  108. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  109. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
  110. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  112. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  113. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  114. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  115. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  116. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  117. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  119. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  120. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  121. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  122. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  123. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
  124. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  125. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  126. package/dist/types/src/translations.d.ts +2 -262
  127. package/dist/types/src/translations.d.ts.map +1 -1
  128. package/dist/types/src/types/collection.d.ts +9 -8
  129. package/dist/types/src/types/collection.d.ts.map +1 -1
  130. package/dist/types/src/types/thread.d.ts +113 -118
  131. package/dist/types/src/types/thread.d.ts.map +1 -1
  132. package/dist/types/src/types/types.d.ts +153 -152
  133. package/dist/types/src/types/types.d.ts.map +1 -1
  134. package/dist/types/src/util.d.ts +4 -4
  135. package/dist/types/src/util.d.ts.map +1 -1
  136. package/dist/types/tsconfig.tsbuildinfo +1 -1
  137. package/package.json +46 -45
  138. package/src/SpacePlugin.tsx +8 -7
  139. package/src/capabilities/app-graph-builder.ts +3 -3
  140. package/src/capabilities/index.ts +2 -2
  141. package/src/capabilities/intent-resolver.ts +14 -2
  142. package/src/capabilities/react-surface.tsx +11 -11
  143. package/src/capabilities/schema-tool.test.ts +2 -3
  144. package/src/capabilities/schema-tools.ts +25 -25
  145. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
  146. package/src/components/MenuFooter.tsx +2 -2
  147. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
  148. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
  149. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
  150. package/src/components/PopoverRenameSpace.tsx +8 -0
  151. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
  152. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  153. package/src/types/collection.ts +6 -4
  154. package/src/types/thread.ts +14 -8
  155. package/src/types/types.ts +114 -109
  156. package/src/util.tsx +9 -9
  157. package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-3KG2VMQL.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
  160. package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
  161. package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
  162. package/dist/lib/browser/intent-resolver-U3UVTHQV.mjs.map +0 -7
  163. package/dist/lib/browser/react-surface-2OFMYE6E.mjs.map +0 -7
  164. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  165. package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
  166. package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
  167. package/dist/lib/node/chunk-M7N2NCC4.cjs.map +0 -7
  168. package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
  169. package/dist/lib/node/intent-resolver-4JWTDB67.cjs.map +0 -7
  170. package/dist/lib/node/react-surface-6W7WFRBS.cjs.map +0 -7
  171. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  172. package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
  173. package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
  175. package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
  176. package/dist/lib/node-esm/chunk-RM7ZVPKM.mjs.map +0 -7
  177. package/dist/lib/node-esm/intent-resolver-5PUGNEOK.mjs.map +0 -7
  178. package/dist/lib/node-esm/react-surface-UK2HIELM.mjs.map +0 -7
  179. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  180. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  181. /package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs.map → app-graph-serializer-HPYDOKA5.mjs.map} +0 -0
  182. /package/dist/lib/browser/{chunk-DIJ7LMCS.mjs.map → chunk-OS5QKO4Z.mjs.map} +0 -0
  183. /package/dist/lib/browser/{identity-created-NRVE4XLL.mjs.map → identity-created-DWFKBGOA.mjs.map} +0 -0
  184. /package/dist/lib/browser/{react-root-63ZJ5IR6.mjs.map → react-root-667IZ2Q4.mjs.map} +0 -0
  185. /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-ILGGNYJ7.mjs.map} +0 -0
  186. /package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs.map → spaces-ready-IXZF3RWW.mjs.map} +0 -0
  187. /package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs.map → app-graph-serializer-G7UYFWG6.cjs.map} +0 -0
  188. /package/dist/lib/node/{chunk-UOCR4G2D.cjs.map → chunk-NCSFM6RA.cjs.map} +0 -0
  189. /package/dist/lib/node/{identity-created-YDTRMOMX.cjs.map → identity-created-YLGVEWAJ.cjs.map} +0 -0
  190. /package/dist/lib/node/{react-root-6T2UE4MX.cjs.map → react-root-I3SSFA5O.cjs.map} +0 -0
  191. /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-7TC55JP4.cjs.map} +0 -0
  192. /package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs.map → spaces-ready-4H3Q46GV.cjs.map} +0 -0
  193. /package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs.map → app-graph-serializer-CVPYWWW3.mjs.map} +0 -0
  194. /package/dist/lib/node-esm/{chunk-OLISVDCF.mjs.map → chunk-FUH5OODY.mjs.map} +0 -0
  195. /package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs.map → identity-created-7NHGER3Q.mjs.map} +0 -0
  196. /package/dist/lib/node-esm/{react-root-YQKCDI3P.mjs.map → react-root-JEGVIVVK.mjs.map} +0 -0
  197. /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-CXMV2AFR.mjs.map} +0 -0
  198. /package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs.map → spaces-ready-QMXLQ4QV.mjs.map} +0 -0
  199. /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n} from \"../chunk-EQ5BPSQ7.cjs\";\nimport \"../chunk-6P2DB4QQ.cjs\";\nexport {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n} from \"../chunk-AR3JHVCY.cjs\";\nimport \"../chunk-6P2DB4QQ.cjs\";\nexport {\n ChannelType,\n CollectionAction,\n CollectionType,\n HueAnnotationId,\n IconAnnotationId,\n SPACE_ACTION,\n SPACE_DIRECTORY_HANDLE,\n SPACE_TYPE,\n SpaceAction,\n SpaceForm,\n SpaceSettingsSchema,\n ThreadStatus,\n ThreadType,\n defineObjectForm\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAeO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -10,12 +10,12 @@ import {
10
10
  constructSpaceNode,
11
11
  createObjectNode,
12
12
  memoizeQuery
13
- } from "./chunk-ABTVMAG5.mjs";
13
+ } from "./chunk-B2P24Q5R.mjs";
14
14
  import {
15
15
  CollectionType,
16
16
  SPACE_TYPE,
17
17
  SpaceAction
18
- } from "./chunk-FJPCLEKN.mjs";
18
+ } from "./chunk-RUWTHAV7.mjs";
19
19
  import {
20
20
  SPACE_PLUGIN
21
21
  } from "./chunk-MSWEFAPD.mjs";
@@ -367,4 +367,4 @@ var app_graph_builder_default = (context) => {
367
367
  export {
368
368
  app_graph_builder_default as default
369
369
  };
370
- //# sourceMappingURL=app-graph-builder-HSGLCS76.mjs.map
370
+ //# sourceMappingURL=app-graph-builder-NI7X6W3Q.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 OBJECT_ID_LENGTH,\n type AnyLiveObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, 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 icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\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 position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: '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 if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\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> => node.type === SPACE_TYPE,\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> => node.type === SPACE_TYPE,\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(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\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(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\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<AnyLiveObject<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 // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<AnyLiveObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\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", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "parseId", "isDeleted", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "toSignal", "isNonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "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", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
7
+ }
@@ -1,15 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations_default
4
- } from "./chunk-OLISVDCF.mjs";
4
+ } from "./chunk-FUH5OODY.mjs";
5
5
  import {
6
6
  SPACES
7
- } from "./chunk-ABTVMAG5.mjs";
7
+ } from "./chunk-B2P24Q5R.mjs";
8
8
  import {
9
9
  CollectionType,
10
10
  SPACE_TYPE,
11
11
  SpaceAction
12
- } from "./chunk-FJPCLEKN.mjs";
12
+ } from "./chunk-RUWTHAV7.mjs";
13
13
  import {
14
14
  SPACE_PLUGIN
15
15
  } from "./chunk-MSWEFAPD.mjs";
@@ -78,4 +78,4 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
78
78
  export {
79
79
  app_graph_serializer_default as default
80
80
  };
81
- //# sourceMappingURL=app-graph-serializer-J3B4WSXU.mjs.map
81
+ //# sourceMappingURL=app-graph-serializer-CVPYWWW3.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  CollectionType,
4
4
  SPACE_TYPE,
5
5
  SpaceAction
6
- } from "./chunk-FJPCLEKN.mjs";
6
+ } from "./chunk-RUWTHAV7.mjs";
7
7
  import {
8
8
  SPACE_PLUGIN
9
9
  } from "./chunk-MSWEFAPD.mjs";
@@ -489,4 +489,4 @@ export {
489
489
  getNestedObjects,
490
490
  cloneObject
491
491
  };
492
- //# sourceMappingURL=chunk-ABTVMAG5.mjs.map
492
+ //# sourceMappingURL=chunk-B2P24Q5R.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends BaseObject>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: AnyLiveObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<AnyLiveObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isLiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: AnyLiveObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<AnyLiveObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: AnyLiveObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getTypeAnnotation", "getTypename", "getSchema", "invariant", "isLiveObject", "makeRef", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "ATTENDABLE_PATH_SEPARATOR", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isLiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -5,12 +5,12 @@ import {
5
5
  import {
6
6
  COMPOSER_SPACE_LOCK,
7
7
  getSpaceDisplayName
8
- } from "./chunk-ABTVMAG5.mjs";
8
+ } from "./chunk-B2P24Q5R.mjs";
9
9
  import {
10
10
  CollectionType,
11
11
  SpaceAction,
12
12
  SpaceForm
13
- } from "./chunk-FJPCLEKN.mjs";
13
+ } from "./chunk-RUWTHAV7.mjs";
14
14
  import {
15
15
  SPACE_PLUGIN,
16
16
  meta
@@ -340,17 +340,17 @@ var SelectSchema = ({ options, resolve, onChange }) => {
340
340
 
341
341
  // packages/plugins/plugin-space/src/capabilities/index.ts
342
342
  import { lazy } from "@dxos/app-framework";
343
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-HSGLCS76.mjs"));
344
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-J3B4WSXU.mjs"));
345
- var IdentityCreated = lazy(() => import("./identity-created-EC6SVYB5.mjs"));
346
- var IntentResolver = lazy(() => import("./intent-resolver-5PUGNEOK.mjs"));
347
- var ReactRoot = lazy(() => import("./react-root-YQKCDI3P.mjs"));
348
- var ReactSurface = lazy(() => import("./react-surface-UK2HIELM.mjs"));
349
- var Schema = lazy(() => import("./schema-OUZKVYM5.mjs"));
350
- var Tools = lazy(() => import("./schema-tools-IU7EX5A5.mjs"));
351
- var SpaceSettings = lazy(() => import("./settings-AILIMHTE.mjs"));
343
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-NI7X6W3Q.mjs"));
344
+ var AppGraphSerializer = lazy(() => import("./app-graph-serializer-CVPYWWW3.mjs"));
345
+ var IdentityCreated = lazy(() => import("./identity-created-7NHGER3Q.mjs"));
346
+ var IntentResolver = lazy(() => import("./intent-resolver-IL63YTIT.mjs"));
347
+ var ReactRoot = lazy(() => import("./react-root-JEGVIVVK.mjs"));
348
+ var ReactSurface = lazy(() => import("./react-surface-DRRXIJBE.mjs"));
349
+ var SchemaDefs = lazy(() => import("./schema-defs-IIEQR7B3.mjs"));
350
+ var SchemaTools = lazy(() => import("./schema-tools-YTJLA3NQ.mjs"));
351
+ var SpaceSettings = lazy(() => import("./settings-CXMV2AFR.mjs"));
352
352
  var SpaceState = lazy(() => import("./state-YZPY5T5A.mjs"));
353
- var SpacesReady = lazy(() => import("./spaces-ready-5PXESKHX.mjs"));
353
+ var SpacesReady = lazy(() => import("./spaces-ready-QMXLQ4QV.mjs"));
354
354
 
355
355
  // packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
356
356
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
@@ -1225,14 +1225,24 @@ var PopoverRenameObject = ({ object: obj }) => {
1225
1225
 
1226
1226
  // packages/plugins/plugin-space/src/components/PopoverRenameSpace.tsx
1227
1227
  import React18, { useCallback as useCallback11, useRef as useRef5, useState as useState8 } from "react";
1228
+ import { createIntent as createIntent8, LayoutAction as LayoutAction7, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
1228
1229
  import { Button as Button6, Input as Input4, Popover, useTranslation as useTranslation16 } from "@dxos/react-ui";
1229
1230
  var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
1230
1231
  var PopoverRenameSpace = ({ space }) => {
1231
1232
  const { t } = useTranslation16(SPACE_PLUGIN);
1232
1233
  const doneButton = useRef5(null);
1233
1234
  const [name, setName] = useState8(space.properties.name ?? "");
1235
+ const { dispatchPromise: dispatch } = useIntentDispatcher8();
1234
1236
  const handleDone = useCallback11(() => {
1235
1237
  space.properties.name = name;
1238
+ void dispatch(createIntent8(LayoutAction7.UpdatePopover, {
1239
+ part: "popover",
1240
+ options: {
1241
+ variant: "react",
1242
+ anchorId: "",
1243
+ state: false
1244
+ }
1245
+ }));
1236
1246
  }, [
1237
1247
  space,
1238
1248
  name
@@ -1461,14 +1471,14 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1461
1471
 
1462
1472
  // packages/plugins/plugin-space/src/components/SpacePluginSettings.tsx
1463
1473
  import React21 from "react";
1464
- import { createIntent as createIntent8, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
1474
+ import { createIntent as createIntent9, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1465
1475
  import { useClient as useClient6 } from "@dxos/react-client";
1466
1476
  import { useSpaces as useSpaces2 } from "@dxos/react-client/echo";
1467
1477
  import { Input as Input5, toLocalizedString as toLocalizedString3, useTranslation as useTranslation19, List as List3, ListItem as ListItem3, Button as Button7 } from "@dxos/react-ui";
1468
1478
  import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
1469
1479
  var SpacePluginSettings = ({ settings }) => {
1470
1480
  const { t } = useTranslation19(SPACE_PLUGIN);
1471
- const { dispatchPromise: dispatch } = useIntentDispatcher8();
1481
+ const { dispatchPromise: dispatch } = useIntentDispatcher9();
1472
1482
  const client = useClient6();
1473
1483
  const spaces = useSpaces2({
1474
1484
  all: settings.showHidden
@@ -1491,16 +1501,16 @@ var SpacePluginSettings = ({ settings }) => {
1491
1501
  }, toLocalizedString3(getSpaceDisplayName(space, {
1492
1502
  personal: space === client.spaces.default
1493
1503
  }), t)), /* @__PURE__ */ React21.createElement(ListItem3.Endcap, null, /* @__PURE__ */ React21.createElement(Button7, {
1494
- onClick: () => dispatch(createIntent8(SpaceAction.OpenSettings, {
1504
+ onClick: () => dispatch(createIntent9(SpaceAction.OpenSettings, {
1495
1505
  space
1496
1506
  }))
1497
1507
  }, t("open space settings label"))))))));
1498
1508
  };
1499
1509
 
1500
1510
  // packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx
1501
- import { pipe as pipe2, Schema as S } from "effect";
1511
+ import { pipe as pipe2, Schema } from "effect";
1502
1512
  import React22, { useCallback as useCallback13, useMemo as useMemo3, useState as useState11 } from "react";
1503
- import { chain as chain2, createIntent as createIntent9, LayoutAction as LayoutAction7, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1513
+ import { chain as chain2, createIntent as createIntent10, LayoutAction as LayoutAction8, useIntentDispatcher as useIntentDispatcher10 } from "@dxos/app-framework";
1504
1514
  import { log as log3 } from "@dxos/log";
1505
1515
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
1506
1516
  import { useClient as useClient7 } from "@dxos/react-client";
@@ -1510,14 +1520,14 @@ import { Form as Form4, ControlItem, ControlItemInput as ControlItemInput2, Cont
1510
1520
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
1511
1521
  import { StackItem as StackItem4 } from "@dxos/react-ui-stack";
1512
1522
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
1513
- var FormSchema = SpaceForm.pipe(S.extend(S.Struct({
1514
- archived: S.Boolean.annotations({
1523
+ var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
1524
+ archived: Schema.Boolean.annotations({
1515
1525
  title: "Archive space"
1516
1526
  })
1517
1527
  })));
1518
1528
  var SpaceSettingsContainer = ({ space }) => {
1519
1529
  const { t } = useTranslation20(SPACE_PLUGIN);
1520
- const { dispatchPromise: dispatch } = useIntentDispatcher9();
1530
+ const { dispatchPromise: dispatch } = useIntentDispatcher10();
1521
1531
  const client = useClient7();
1522
1532
  const archived = useMulticastObservable(space.state) === SpaceState2.SPACE_INACTIVE;
1523
1533
  const [edgeReplication, setEdgeReplication] = useState11(space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED);
@@ -1526,7 +1536,7 @@ var SpaceSettingsContainer = ({ space }) => {
1526
1536
  await space?.internal.setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED).catch((err) => {
1527
1537
  log3.catch(err, void 0, {
1528
1538
  F: __dxlog_file5,
1529
- L: 49,
1539
+ L: 51,
1530
1540
  S: void 0,
1531
1541
  C: (f, a) => f(...a)
1532
1542
  });
@@ -1547,14 +1557,14 @@ var SpaceSettingsContainer = ({ space }) => {
1547
1557
  space.properties.hue = properties.hue;
1548
1558
  }
1549
1559
  if (properties.archived && !archived) {
1550
- void dispatch(pipe2(createIntent9(SpaceAction.Close, {
1560
+ void dispatch(pipe2(createIntent10(SpaceAction.Close, {
1551
1561
  space
1552
- }), chain2(LayoutAction7.SwitchWorkspace, {
1562
+ }), chain2(LayoutAction8.SwitchWorkspace, {
1553
1563
  part: "workspace",
1554
1564
  subject: client.spaces.default.id
1555
1565
  })));
1556
1566
  } else if (!properties.archived && archived) {
1557
- void dispatch(createIntent9(SpaceAction.Open, {
1567
+ void dispatch(createIntent10(SpaceAction.Open, {
1558
1568
  space
1559
1569
  }));
1560
1570
  }
@@ -1919,10 +1929,10 @@ export {
1919
1929
  IntentResolver,
1920
1930
  ReactRoot,
1921
1931
  ReactSurface,
1922
- Schema,
1923
- Tools,
1932
+ SchemaDefs,
1933
+ SchemaTools,
1924
1934
  SpaceSettings,
1925
1935
  SpaceState,
1926
1936
  SpacesReady
1927
1937
  };
1928
- //# sourceMappingURL=chunk-RM7ZVPKM.mjs.map
1938
+ //# sourceMappingURL=chunk-BU6F7ZU4.mjs.map