@dxos/plugin-space 0.8.3-main.7f5a14c → 0.8.3

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 (206) hide show
  1. package/dist/lib/browser/{app-graph-builder-UNXUTH53.mjs → app-graph-builder-M2RH72VL.mjs} +43 -9
  2. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-KPKPMC4M.mjs → app-graph-serializer-F7ISRRBV.mjs} +13 -13
  4. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-TQPBDRXV.mjs → chunk-4ZKSFDXM.mjs} +29 -17
  6. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-3LN4LJN6.mjs → chunk-BXNL6SDI.mjs} +2 -1
  8. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-CF4FBDGP.mjs → chunk-NFUKCRGE.mjs} +148 -134
  10. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-TW7O2EPP.mjs +284 -0
  12. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-RRJIDXPY.mjs → chunk-V24VASAJ.mjs} +100 -31
  14. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +18 -0
  16. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +7 -0
  17. package/dist/lib/browser/{identity-created-EM6GZDNF.mjs → identity-created-PI7TKANR.mjs} +5 -10
  18. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +61 -51
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/{intent-resolver-K3ULKQ6V.mjs → intent-resolver-RWU6ZE4H.mjs} +56 -32
  22. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-root-ECO7G77L.mjs → react-root-QIKHSNT2.mjs} +5 -5
  25. package/dist/lib/browser/{react-surface-Y5AZBYA7.mjs → react-surface-W56UD53I.mjs} +74 -14
  26. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +7 -0
  27. package/dist/lib/browser/{schema-defs-JMN74RNK.mjs → schema-defs-WREJNMIC.mjs} +2 -2
  28. package/dist/lib/browser/{settings-MU7O6JDD.mjs → settings-K54STC5A.mjs} +2 -2
  29. package/dist/lib/browser/{spaces-ready-NXZAWHGI.mjs → spaces-ready-3PDRDHPC.mjs} +7 -7
  30. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +7 -0
  31. package/dist/lib/browser/{state-6HOSHLIN.mjs → state-HRZ4VRXU.mjs} +2 -2
  32. package/dist/lib/browser/types/index.mjs +1 -3
  33. package/dist/lib/node/{app-graph-builder-6QDQEYHS.cjs → app-graph-builder-6LK5HLLE.cjs} +73 -38
  34. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
  35. package/dist/lib/node/{app-graph-serializer-6SWKHDE2.cjs → app-graph-serializer-HKHBNHA3.cjs} +23 -22
  36. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +7 -0
  37. package/dist/lib/node/chunk-3X4EA4XL.cjs +37 -0
  38. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-SF3NU7EW.cjs → chunk-DOC5XEZ4.cjs} +32 -18
  40. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-QCANR24R.cjs → chunk-NCHF433F.cjs} +201 -186
  42. package/dist/lib/node/chunk-NCHF433F.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-7GQGM4ZF.cjs → chunk-NL5Y4EDX.cjs} +5 -4
  44. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +7 -0
  45. package/dist/lib/node/chunk-ULJZPATP.cjs +312 -0
  46. package/dist/lib/node/chunk-ULJZPATP.cjs.map +7 -0
  47. package/dist/lib/node/{chunk-KDBPQ6L3.cjs → chunk-XHWVT7LW.cjs} +113 -43
  48. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
  49. package/dist/lib/node/{identity-created-KCJAOFZC.cjs → identity-created-FF4WZ2WY.cjs} +7 -9
  50. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
  51. package/dist/lib/node/index.cjs +129 -118
  52. package/dist/lib/node/index.cjs.map +4 -4
  53. package/dist/lib/node/{intent-resolver-XR4S7LME.cjs → intent-resolver-AV4CMM3Z.cjs} +91 -68
  54. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +7 -0
  55. package/dist/lib/node/meta.json +1 -1
  56. package/dist/lib/node/{react-root-Z2YM6JYC.cjs → react-root-RQUU3A45.cjs} +10 -10
  57. package/dist/lib/node/{react-surface-H6XNU6DS.cjs → react-surface-AZFJLE72.cjs} +104 -43
  58. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +7 -0
  59. package/dist/lib/node/{schema-defs-XLFBG3XK.cjs → schema-defs-OB2X2HBH.cjs} +6 -6
  60. package/dist/lib/node/{settings-XRAT3YMN.cjs → settings-P2EQ7VKQ.cjs} +6 -6
  61. package/dist/lib/node/{spaces-ready-KKFEN2MM.cjs → spaces-ready-DXPOHYV7.cjs} +16 -16
  62. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +7 -0
  63. package/dist/lib/node/{state-ZT3MTZXB.cjs → state-M35DK75Z.cjs} +6 -6
  64. package/dist/lib/node/types/index.cjs +11 -13
  65. package/dist/lib/node/types/index.cjs.map +2 -2
  66. package/dist/lib/node-esm/{app-graph-builder-5EAV4CDH.mjs → app-graph-builder-BCHVZ4OM.mjs} +43 -9
  67. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
  68. package/dist/lib/node-esm/{app-graph-serializer-BRLVJW6I.mjs → app-graph-serializer-TXRGGNP2.mjs} +13 -13
  69. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +19 -0
  71. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-4X4Y63ND.mjs → chunk-BSLREHIX.mjs} +2 -1
  73. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +285 -0
  75. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-FTL5AMXF.mjs → chunk-HO7AIKQS.mjs} +100 -31
  77. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-55OOAFBS.mjs → chunk-JBQKU4K5.mjs} +29 -17
  79. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
  80. package/dist/lib/node-esm/{chunk-AVONUBZO.mjs → chunk-LA6AVVH6.mjs} +148 -134
  81. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
  82. package/dist/lib/node-esm/{identity-created-FOFH2WPI.mjs → identity-created-35CTAQWI.mjs} +5 -9
  83. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +7 -0
  84. package/dist/lib/node-esm/index.mjs +61 -51
  85. package/dist/lib/node-esm/index.mjs.map +4 -4
  86. package/dist/lib/node-esm/{intent-resolver-72KTB4S2.mjs → intent-resolver-JO6L2VXC.mjs} +56 -32
  87. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +7 -0
  88. package/dist/lib/node-esm/meta.json +1 -1
  89. package/dist/lib/node-esm/{react-root-FU2I5U2M.mjs → react-root-YFGL3B4J.mjs} +5 -5
  90. package/dist/lib/node-esm/{react-surface-L4SMKRYF.mjs → react-surface-CVAPDLEZ.mjs} +74 -14
  91. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +7 -0
  92. package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs → schema-defs-4MEJETVX.mjs} +2 -2
  93. package/dist/lib/node-esm/{settings-C7GQAEDU.mjs → settings-TD76LTQS.mjs} +2 -2
  94. package/dist/lib/node-esm/{spaces-ready-WTISHKEH.mjs → spaces-ready-FJMGPAVV.mjs} +7 -7
  95. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +7 -0
  96. package/dist/lib/node-esm/{state-4ATRHSKA.mjs → state-XQNDCN37.mjs} +2 -2
  97. package/dist/lib/node-esm/types/index.mjs +1 -3
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  106. package/dist/types/src/components/CollectionMain.d.ts +2 -2
  107. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  108. package/dist/types/src/components/CollectionSection.d.ts +2 -2
  109. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  110. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -7
  114. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  115. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  117. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  118. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  119. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  120. package/dist/types/src/events.d.ts +1 -3
  121. package/dist/types/src/events.d.ts.map +1 -1
  122. package/dist/types/src/translations.d.ts +275 -2
  123. package/dist/types/src/translations.d.ts.map +1 -1
  124. package/dist/types/src/types/index.d.ts +0 -1
  125. package/dist/types/src/types/index.d.ts.map +1 -1
  126. package/dist/types/src/types/types.d.ts +80 -12
  127. package/dist/types/src/types/types.d.ts.map +1 -1
  128. package/dist/types/src/util.d.ts +8 -3
  129. package/dist/types/src/util.d.ts.map +1 -1
  130. package/package.json +45 -45
  131. package/src/{SpacePlugin.tsx → SpacePlugin.ts} +28 -8
  132. package/src/capabilities/app-graph-builder.ts +67 -4
  133. package/src/capabilities/app-graph-serializer.ts +11 -8
  134. package/src/capabilities/capabilities.ts +6 -1
  135. package/src/capabilities/identity-created.ts +5 -4
  136. package/src/capabilities/intent-resolver.ts +38 -18
  137. package/src/capabilities/react-surface.tsx +98 -10
  138. package/src/capabilities/spaces-ready.ts +3 -3
  139. package/src/components/CollectionMain.tsx +3 -3
  140. package/src/components/CollectionSection.tsx +2 -2
  141. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +6 -6
  142. package/src/components/CreateDialog/CreateObjectDialog.tsx +25 -12
  143. package/src/components/CreateDialog/CreateObjectPanel.tsx +43 -51
  144. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  145. package/src/components/MembersContainer.tsx +4 -2
  146. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +9 -1
  147. package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -3
  148. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
  149. package/src/components/SpacePluginSettings.tsx +24 -19
  150. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -2
  151. package/src/events.ts +1 -5
  152. package/src/translations.ts +30 -14
  153. package/src/types/index.ts +0 -1
  154. package/src/types/types.ts +29 -9
  155. package/src/util.tsx +111 -23
  156. package/dist/lib/browser/app-graph-builder-UNXUTH53.mjs.map +0 -7
  157. package/dist/lib/browser/app-graph-serializer-KPKPMC4M.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-3LN4LJN6.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-CF4FBDGP.mjs.map +0 -7
  160. package/dist/lib/browser/chunk-LGEIVEYC.mjs +0 -289
  161. package/dist/lib/browser/chunk-LGEIVEYC.mjs.map +0 -7
  162. package/dist/lib/browser/chunk-RRJIDXPY.mjs.map +0 -7
  163. package/dist/lib/browser/chunk-TQPBDRXV.mjs.map +0 -7
  164. package/dist/lib/browser/identity-created-EM6GZDNF.mjs.map +0 -7
  165. package/dist/lib/browser/intent-resolver-K3ULKQ6V.mjs.map +0 -7
  166. package/dist/lib/browser/react-surface-Y5AZBYA7.mjs.map +0 -7
  167. package/dist/lib/browser/spaces-ready-NXZAWHGI.mjs.map +0 -7
  168. package/dist/lib/node/app-graph-builder-6QDQEYHS.cjs.map +0 -7
  169. package/dist/lib/node/app-graph-serializer-6SWKHDE2.cjs.map +0 -7
  170. package/dist/lib/node/chunk-7GQGM4ZF.cjs.map +0 -7
  171. package/dist/lib/node/chunk-KDBPQ6L3.cjs.map +0 -7
  172. package/dist/lib/node/chunk-QCANR24R.cjs.map +0 -7
  173. package/dist/lib/node/chunk-SF3NU7EW.cjs.map +0 -7
  174. package/dist/lib/node/chunk-UUBPYP7E.cjs +0 -316
  175. package/dist/lib/node/chunk-UUBPYP7E.cjs.map +0 -7
  176. package/dist/lib/node/identity-created-KCJAOFZC.cjs.map +0 -7
  177. package/dist/lib/node/intent-resolver-XR4S7LME.cjs.map +0 -7
  178. package/dist/lib/node/react-surface-H6XNU6DS.cjs.map +0 -7
  179. package/dist/lib/node/spaces-ready-KKFEN2MM.cjs.map +0 -7
  180. package/dist/lib/node-esm/app-graph-builder-5EAV4CDH.mjs.map +0 -7
  181. package/dist/lib/node-esm/app-graph-serializer-BRLVJW6I.mjs.map +0 -7
  182. package/dist/lib/node-esm/chunk-226REPOB.mjs +0 -290
  183. package/dist/lib/node-esm/chunk-226REPOB.mjs.map +0 -7
  184. package/dist/lib/node-esm/chunk-4X4Y63ND.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-55OOAFBS.mjs.map +0 -7
  186. package/dist/lib/node-esm/chunk-AVONUBZO.mjs.map +0 -7
  187. package/dist/lib/node-esm/chunk-FTL5AMXF.mjs.map +0 -7
  188. package/dist/lib/node-esm/identity-created-FOFH2WPI.mjs.map +0 -7
  189. package/dist/lib/node-esm/intent-resolver-72KTB4S2.mjs.map +0 -7
  190. package/dist/lib/node-esm/react-surface-L4SMKRYF.mjs.map +0 -7
  191. package/dist/lib/node-esm/spaces-ready-WTISHKEH.mjs.map +0 -7
  192. package/dist/types/src/types/collection.d.ts +0 -15
  193. package/dist/types/src/types/collection.d.ts.map +0 -1
  194. package/src/types/collection.ts +0 -27
  195. /package/dist/lib/browser/{react-root-ECO7G77L.mjs.map → react-root-QIKHSNT2.mjs.map} +0 -0
  196. /package/dist/lib/browser/{schema-defs-JMN74RNK.mjs.map → schema-defs-WREJNMIC.mjs.map} +0 -0
  197. /package/dist/lib/browser/{settings-MU7O6JDD.mjs.map → settings-K54STC5A.mjs.map} +0 -0
  198. /package/dist/lib/browser/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
  199. /package/dist/lib/node/{react-root-Z2YM6JYC.cjs.map → react-root-RQUU3A45.cjs.map} +0 -0
  200. /package/dist/lib/node/{schema-defs-XLFBG3XK.cjs.map → schema-defs-OB2X2HBH.cjs.map} +0 -0
  201. /package/dist/lib/node/{settings-XRAT3YMN.cjs.map → settings-P2EQ7VKQ.cjs.map} +0 -0
  202. /package/dist/lib/node/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
  203. /package/dist/lib/node-esm/{react-root-FU2I5U2M.mjs.map → react-root-YFGL3B4J.mjs.map} +0 -0
  204. /package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs.map → schema-defs-4MEJETVX.mjs.map} +0 -0
  205. /package/dist/lib/node-esm/{settings-C7GQAEDU.mjs.map → settings-TD76LTQS.mjs.map} +0 -0
  206. /package/dist/lib/node-esm/{state-4ATRHSKA.mjs.map → state-XQNDCN37.mjs.map} +0 -0
@@ -1,7 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  translations_default
4
- } from "./chunk-55OOAFBS.mjs";
4
+ } from "./chunk-JBQKU4K5.mjs";
5
+ import {
6
+ SpaceEvents
7
+ } from "./chunk-3CP67AYY.mjs";
5
8
  import {
6
9
  AppGraphBuilder,
7
10
  AppGraphSerializer,
@@ -42,7 +45,7 @@ import {
42
45
  SyncStatus,
43
46
  SyncStatusIndicator,
44
47
  useQuerySpaceSchemas
45
- } from "./chunk-AVONUBZO.mjs";
48
+ } from "./chunk-LA6AVVH6.mjs";
46
49
  import {
47
50
  getActiveSpace,
48
51
  useActiveSpace,
@@ -51,7 +54,7 @@ import {
51
54
  } from "./chunk-GH2FGJXH.mjs";
52
55
  import {
53
56
  SpaceCapabilities
54
- } from "./chunk-4X4Y63ND.mjs";
57
+ } from "./chunk-BSLREHIX.mjs";
55
58
  import {
56
59
  COMPOSER_SPACE_LOCK,
57
60
  SHARED,
@@ -64,36 +67,23 @@ import {
64
67
  getNestedObjects,
65
68
  getSpaceDisplayName,
66
69
  rxFromQuery
67
- } from "./chunk-FTL5AMXF.mjs";
70
+ } from "./chunk-HO7AIKQS.mjs";
68
71
  import {
69
72
  CollectionAction,
70
- CollectionType,
71
73
  defineObjectForm
72
- } from "./chunk-226REPOB.mjs";
74
+ } from "./chunk-D4QMPPS7.mjs";
73
75
  import {
74
76
  SPACE_PLUGIN,
75
77
  meta
76
78
  } from "./chunk-MSWEFAPD.mjs";
77
79
 
78
- // packages/plugins/plugin-space/src/events.ts
79
- import { defineEvent, Events } from "@dxos/app-framework";
80
- (function(SpaceEvents2) {
81
- SpaceEvents2.StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);
82
- SpaceEvents2.SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);
83
- SpaceEvents2.DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);
84
- })(SpaceEvents || (SpaceEvents = {}));
85
- (function(ThreadEvents2) {
86
- ThreadEvents2.SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);
87
- })(ThreadEvents || (ThreadEvents = {}));
88
- var SpaceEvents;
89
- var ThreadEvents;
90
-
91
- // packages/plugins/plugin-space/src/SpacePlugin.tsx
80
+ // packages/plugins/plugin-space/src/SpacePlugin.ts
92
81
  import { Schema } from "effect";
93
- import { Capabilities, Events as Events2, allOf, contributes, createIntent, defineModule, definePlugin, oneOf } from "@dxos/app-framework";
94
- import { Ref } from "@dxos/echo";
82
+ import { Capabilities, Events, allOf, contributes, createIntent, defineModule, definePlugin, oneOf } from "@dxos/app-framework";
83
+ import { Ref, Type } from "@dxos/echo";
95
84
  import { AttentionEvents } from "@dxos/plugin-attention";
96
85
  import { ClientEvents } from "@dxos/plugin-client";
86
+ import { DataType } from "@dxos/schema";
97
87
  import { osTranslations } from "@dxos/shell/react";
98
88
  var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = false } = {}) => {
99
89
  const createInvitationUrl = (invitationCode) => {
@@ -107,7 +97,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
107
97
  // TODO(wittjosiah): Does not integrate with settings store.
108
98
  // Should this be a different event?
109
99
  // Should settings store be renamed to be more generic?
110
- activatesOn: oneOf(Events2.SetupSettings, Events2.SetupAppGraph),
100
+ activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),
111
101
  activatesAfter: [
112
102
  SpaceEvents.StateReady
113
103
  ],
@@ -115,12 +105,12 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
115
105
  }),
116
106
  defineModule({
117
107
  id: `${meta.id}/module/settings`,
118
- activatesOn: Events2.SetupSettings,
108
+ activatesOn: Events.SetupSettings,
119
109
  activate: SpaceSettings
120
110
  }),
121
111
  defineModule({
122
112
  id: `${meta.id}/module/translations`,
123
- activatesOn: Events2.SetupTranslations,
113
+ activatesOn: Events.SetupTranslations,
124
114
  activate: () => contributes(Capabilities.Translations, [
125
115
  ...translations_default,
126
116
  osTranslations
@@ -128,29 +118,49 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
128
118
  }),
129
119
  defineModule({
130
120
  id: `${meta.id}/module/metadata`,
131
- activatesOn: Events2.SetupMetadata,
132
- activate: () => contributes(Capabilities.Metadata, {
133
- id: CollectionType.typename,
134
- metadata: {
135
- icon: "ph--cards-three--regular",
136
- // TODO(wittjosiah): Move out of metadata.
137
- loadReferences: async (collection) => await Ref.Array.loadAll([
138
- ...collection.objects,
139
- ...Object.values(collection.views)
140
- ])
141
- }
142
- })
121
+ activatesOn: Events.SetupMetadata,
122
+ activate: () => [
123
+ contributes(Capabilities.Metadata, {
124
+ id: Type.getTypename(DataType.Collection),
125
+ metadata: {
126
+ icon: "ph--cards-three--regular",
127
+ // TODO(wittjosiah): Move out of metadata.
128
+ loadReferences: async (collection) => await Ref.Array.loadAll(collection.objects)
129
+ }
130
+ }),
131
+ contributes(Capabilities.Metadata, {
132
+ id: Type.getTypename(DataType.QueryCollection),
133
+ metadata: {
134
+ label: (object) => [
135
+ "typename label",
136
+ {
137
+ ns: object.query.typename,
138
+ count: 2,
139
+ defaultValue: "New smart collection"
140
+ }
141
+ ],
142
+ icon: "ph--funnel-simple--regular"
143
+ }
144
+ })
145
+ ]
143
146
  }),
144
147
  defineModule({
145
148
  id: `${meta.id}/module/object-form`,
146
149
  activatesOn: ClientEvents.SetupSchema,
147
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
148
- objectSchema: CollectionType,
149
- formSchema: Schema.Struct({
150
- name: Schema.optional(Schema.String)
151
- }),
152
- getIntent: (props) => createIntent(CollectionAction.Create, props)
153
- }))
150
+ activate: () => [
151
+ contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
152
+ objectSchema: DataType.Collection,
153
+ formSchema: Schema.Struct({
154
+ name: Schema.optional(Schema.String)
155
+ }),
156
+ getIntent: (props) => createIntent(CollectionAction.Create, props)
157
+ })),
158
+ contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
159
+ objectSchema: DataType.QueryCollection,
160
+ formSchema: CollectionAction.QueryCollectionForm,
161
+ getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props)
162
+ }))
163
+ ]
154
164
  }),
155
165
  defineModule({
156
166
  id: `${meta.id}/module/schema`,
@@ -162,12 +172,12 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
162
172
  }),
163
173
  defineModule({
164
174
  id: `${meta.id}/module/react-root`,
165
- activatesOn: Events2.Startup,
175
+ activatesOn: Events.Startup,
166
176
  activate: ReactRoot
167
177
  }),
168
178
  defineModule({
169
179
  id: `${meta.id}/module/react-surface`,
170
- activatesOn: Events2.SetupReactSurface,
180
+ activatesOn: Events.SetupReactSurface,
171
181
  // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.
172
182
  activatesBefore: [
173
183
  SpaceEvents.SetupSettingsPanel
@@ -178,7 +188,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
178
188
  }),
179
189
  defineModule({
180
190
  id: `${meta.id}/module/intent-resolver`,
181
- activatesOn: Events2.SetupIntentResolver,
191
+ activatesOn: Events.SetupIntentResolver,
182
192
  activate: (context) => IntentResolver({
183
193
  context,
184
194
  createInvitationUrl,
@@ -187,13 +197,13 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
187
197
  }),
188
198
  defineModule({
189
199
  id: `${meta.id}/module/app-graph-builder`,
190
- activatesOn: Events2.SetupAppGraph,
200
+ activatesOn: Events.SetupAppGraph,
191
201
  activate: AppGraphBuilder
192
202
  }),
193
203
  // TODO(wittjosiah): This could probably be deferred.
194
204
  defineModule({
195
205
  id: `${meta.id}/module/app-graph-serializer`,
196
- activatesOn: Events2.AppGraphReady,
206
+ activatesOn: Events.AppGraphReady,
197
207
  activate: AppGraphSerializer
198
208
  }),
199
209
  defineModule({
@@ -206,12 +216,12 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
206
216
  }),
207
217
  defineModule({
208
218
  id: `${meta.id}/module/spaces-ready`,
209
- activatesOn: allOf(Events2.DispatcherReady, Events2.LayoutReady, Events2.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
219
+ activatesOn: allOf(Events.DispatcherReady, Events.LayoutReady, Events.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
210
220
  activate: SpacesReady
211
221
  }),
212
222
  defineModule({
213
223
  id: `${meta.id}/module/tools`,
214
- activatesOn: Events2.SetupArtifactDefinition,
224
+ activatesOn: Events.SetupArtifactDefinition,
215
225
  activate: SchemaTools
216
226
  })
217
227
  ]);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/events.ts", "../../../src/SpacePlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport {\n Capabilities,\n Events,\n allOf,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n oneOf,\n} from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SchemaDefs,\n SchemaTools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await Ref.Array.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: SchemaTools,\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "Schema", "Capabilities", "Events", "allOf", "contributes", "createIntent", "defineModule", "definePlugin", "oneOf", "Ref", "AttentionEvents", "ClientEvents", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "Ref", "Array", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "Schema", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "ClientReady", "activatesBefore", "SchemaDefs", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "SchemaTools"]
3
+ "sources": ["../../../src/SpacePlugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport {\n Capabilities,\n Events,\n allOf,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n oneOf,\n} from '@dxos/app-framework';\nimport { Ref, Type } from '@dxos/echo';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SchemaDefs,\n SchemaTools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Collection),\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: DataType.Collection) => await Ref.Array.loadAll(collection.objects),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.QueryCollection),\n metadata: {\n label: (object: DataType.QueryCollection) => [\n 'typename label',\n { ns: object.query.typename, count: 2, defaultValue: 'New smart collection' },\n ],\n icon: 'ph--funnel-simple--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.Collection,\n formSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.QueryCollection,\n formSchema: CollectionAction.QueryCollectionForm,\n getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: SchemaTools,\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Capabilities", "Events", "allOf", "contributes", "createIntent", "defineModule", "definePlugin", "oneOf", "Ref", "Type", "AttentionEvents", "ClientEvents", "DataType", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "Type", "getTypename", "DataType", "Collection", "metadata", "icon", "loadReferences", "collection", "Ref", "Array", "loadAll", "objects", "QueryCollection", "label", "object", "ns", "query", "typename", "count", "defaultValue", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "Schema", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "QueryCollectionForm", "CreateQueryCollection", "ClientReady", "activatesBefore", "SchemaDefs", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "SchemaTools"]
7
7
  }
@@ -1,25 +1,27 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ SpaceEvents
4
+ } from "./chunk-3CP67AYY.mjs";
2
5
  import {
3
6
  CREATE_OBJECT_DIALOG,
4
7
  CREATE_SPACE_DIALOG,
5
8
  JOIN_DIALOG,
6
9
  POPOVER_RENAME_OBJECT,
7
10
  POPOVER_RENAME_SPACE
8
- } from "./chunk-AVONUBZO.mjs";
11
+ } from "./chunk-LA6AVVH6.mjs";
9
12
  import "./chunk-GH2FGJXH.mjs";
10
13
  import {
11
14
  SpaceCapabilities
12
- } from "./chunk-4X4Y63ND.mjs";
15
+ } from "./chunk-BSLREHIX.mjs";
13
16
  import {
14
17
  COMPOSER_SPACE_LOCK,
15
18
  cloneObject,
16
19
  getNestedObjects
17
- } from "./chunk-FTL5AMXF.mjs";
20
+ } from "./chunk-HO7AIKQS.mjs";
18
21
  import {
19
22
  CollectionAction,
20
- CollectionType,
21
23
  SpaceAction
22
- } from "./chunk-226REPOB.mjs";
24
+ } from "./chunk-D4QMPPS7.mjs";
23
25
  import {
24
26
  SPACE_PLUGIN
25
27
  } from "./chunk-MSWEFAPD.mjs";
@@ -27,7 +29,7 @@ import {
27
29
  // packages/plugins/plugin-space/src/capabilities/intent-resolver.ts
28
30
  import { Effect } from "effect";
29
31
  import { Capabilities, LayoutAction, contributes, createIntent, createResolver } from "@dxos/app-framework";
30
- import { Obj, Ref, Relation } from "@dxos/echo";
32
+ import { Obj, Ref, Relation, Type } from "@dxos/echo";
31
33
  import { invariant } from "@dxos/invariant";
32
34
  import { Migrations } from "@dxos/migrations";
33
35
  import { ClientCapabilities } from "@dxos/plugin-client";
@@ -36,6 +38,7 @@ import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata
36
38
  import { isSpace, getSpace, SpaceState, fullyQualifiedId } from "@dxos/react-client/echo";
37
39
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
38
40
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
41
+ import { DataType } from "@dxos/schema";
39
42
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/intent-resolver.ts";
40
43
  var SPACE_MAX_OBJECTS = 500;
41
44
  var intent_resolver_default = ({ context, observability, createInvitationUrl }) => {
@@ -68,14 +71,19 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
68
71
  await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);
69
72
  }
70
73
  await space.waitUntilReady();
71
- const collection = Obj.make(CollectionType, {
72
- objects: [],
73
- views: {}
74
+ const collection = Obj.make(DataType.Collection, {
75
+ objects: []
74
76
  });
75
- space.properties[CollectionType.typename] = Ref.make(collection);
77
+ space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection);
76
78
  if (Migrations.versionProperty) {
77
79
  space.properties[Migrations.versionProperty] = Migrations.targetVersion;
78
80
  }
81
+ await context.activatePromise(SpaceEvents.SpaceCreated);
82
+ const onSpaceCreatedCallbacks = context.getCapabilities(SpaceCapabilities.OnSpaceCreated);
83
+ await Promise.all(onSpaceCreatedCallbacks.map((onSpaceCreated) => onSpaceCreated({
84
+ space,
85
+ rootCollection: collection
86
+ })));
79
87
  return {
80
88
  data: {
81
89
  id: space.id,
@@ -291,7 +299,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
291
299
  }),
292
300
  createResolver({
293
301
  intent: SpaceAction.OpenCreateObject,
294
- resolve: ({ target, navigable = true }) => {
302
+ resolve: ({ target, typename, navigable = true }) => {
295
303
  const state = context.getCapability(SpaceCapabilities.State);
296
304
  return {
297
305
  intents: [
@@ -302,7 +310,12 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
302
310
  blockAlign: "start",
303
311
  props: {
304
312
  target,
305
- shouldNavigate: navigable ? (object) => !(object instanceof CollectionType) || state.navigableCollections : () => false
313
+ typename,
314
+ shouldNavigate: navigable ? (object) => {
315
+ const isCollection = Obj.instanceOf(DataType.Collection, object);
316
+ const isQueryCollection = Obj.instanceOf(DataType.QueryCollection, object);
317
+ return !isCollection && !isQueryCollection || state.navigableCollections;
318
+ } : () => false
306
319
  }
307
320
  }
308
321
  })
@@ -316,7 +329,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
316
329
  const space = isSpace(target) ? target : getSpace(target);
317
330
  invariant(space, "Space not found.", {
318
331
  F: __dxlog_file,
319
- L: 332,
332
+ L: 345,
320
333
  S: void 0,
321
334
  A: [
322
335
  "space",
@@ -377,22 +390,21 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
377
390
  ]
378
391
  };
379
392
  }
380
- if (target instanceof CollectionType) {
393
+ if (Obj.instanceOf(DataType.Collection, target)) {
381
394
  target.objects.push(Ref.make(object));
382
395
  } else if (isSpace(target) && hidden) {
383
396
  space.db.add(object);
384
397
  } else if (isSpace(target)) {
385
- const collection = space.properties[CollectionType.typename]?.target;
386
- if (collection instanceof CollectionType) {
398
+ const collection = space.properties[Type.getTypename(DataType.Collection)]?.target;
399
+ if (Obj.instanceOf(DataType.Collection, collection)) {
387
400
  collection.objects.push(Ref.make(object));
388
401
  } else {
389
- const collection2 = Obj.make(CollectionType, {
402
+ const collection2 = Obj.make(DataType.Collection, {
390
403
  objects: [
391
404
  Ref.make(object)
392
- ],
393
- views: {}
405
+ ]
394
406
  });
395
- space.properties[CollectionType.typename] = Ref.make(collection2);
407
+ space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection2);
396
408
  }
397
409
  }
398
410
  return {
@@ -421,7 +433,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
421
433
  createResolver({
422
434
  intent: SpaceAction.AddRelation,
423
435
  resolve: ({ space, schema, source, target, fields }) => {
424
- const relation = space.db.add(Obj.make(schema, {
436
+ const relation = space.db.add(Relation.make(schema, {
425
437
  [Relation.Source]: source,
426
438
  [Relation.Target]: target,
427
439
  ...fields
@@ -440,7 +452,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
440
452
  const space = getSpace(objects[0]);
441
453
  invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space), void 0, {
442
454
  F: __dxlog_file,
443
- L: 429,
455
+ L: 442,
444
456
  S: void 0,
445
457
  A: [
446
458
  "space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space)",
@@ -449,19 +461,19 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
449
461
  });
450
462
  const openObjectIds = new Set(layout.active);
451
463
  if (!undo) {
452
- const parentCollection = target ?? space.properties[CollectionType.typename]?.target;
464
+ const parentCollection = target ?? space.properties[Type.getTypename(DataType.Collection)]?.target;
453
465
  const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));
454
466
  const deletionData2 = {
455
467
  objects,
456
468
  parentCollection,
457
- indices: objects.map((obj) => parentCollection instanceof CollectionType ? parentCollection.objects.findIndex((object) => object.target === obj) : -1),
469
+ indices: objects.map((obj) => Obj.instanceOf(DataType.Collection, parentCollection) ? parentCollection.objects.findIndex((object) => object.target === obj) : -1),
458
470
  nestedObjectsList,
459
471
  wasActive: objects.flatMap((obj, i) => [
460
472
  obj,
461
473
  ...nestedObjectsList[i]
462
474
  ]).map((obj) => fullyQualifiedId(obj)).filter((id) => openObjectIds.has(id))
463
475
  };
464
- if (deletionData2.parentCollection instanceof CollectionType) {
476
+ if (Obj.instanceOf(DataType.Collection, deletionData2.parentCollection)) {
465
477
  [
466
478
  ...deletionData2.indices
467
479
  ].sort((a, b) => b - a).forEach((index) => {
@@ -474,7 +486,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
474
486
  space.db.remove(obj);
475
487
  });
476
488
  objects.forEach((obj) => space.db.remove(obj));
477
- const undoMessageKey = objects.some((obj) => obj instanceof CollectionType) ? "collection deleted label" : objects.length > 1 ? "objects deleted label" : "object deleted label";
489
+ const undoMessageKey = objects.some((obj) => Obj.instanceOf(DataType.Collection, obj)) ? "collection deleted label" : objects.length > 1 ? "objects deleted label" : "object deleted label";
478
490
  return {
479
491
  undoable: {
480
492
  // TODO(ZaymonFC): Pluralize if more than one object.
@@ -499,7 +511,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
499
511
  ] : void 0
500
512
  };
501
513
  } else {
502
- if (deletionData?.objects?.length && deletionData.objects.every(Obj.isObject) && deletionData.parentCollection instanceof CollectionType) {
514
+ if (deletionData?.objects?.length && deletionData.objects.every(Obj.isObject) && Obj.instanceOf(DataType.Collection, deletionData.parentCollection)) {
503
515
  const restoredObjects = deletionData.objects.map((obj) => space.db.add(obj));
504
516
  deletionData.nestedObjectsList.flat().forEach((obj) => {
505
517
  space.db.add(obj);
@@ -542,7 +554,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
542
554
  const space = isSpace(target) ? target : getSpace(target);
543
555
  invariant(space, "Space not found.", {
544
556
  F: __dxlog_file,
545
- L: 543,
557
+ L: 557,
546
558
  S: void 0,
547
559
  A: [
548
560
  "space",
@@ -571,10 +583,22 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
571
583
  intent: CollectionAction.Create,
572
584
  resolve: async ({ name }) => ({
573
585
  data: {
574
- object: Obj.make(CollectionType, {
586
+ object: Obj.make(DataType.Collection, {
575
587
  name,
576
- objects: [],
577
- views: {}
588
+ objects: []
589
+ })
590
+ }
591
+ })
592
+ }),
593
+ createResolver({
594
+ intent: CollectionAction.CreateQueryCollection,
595
+ resolve: async ({ name, typename }) => ({
596
+ data: {
597
+ object: Obj.make(DataType.QueryCollection, {
598
+ name,
599
+ query: {
600
+ typename
601
+ }
578
602
  })
579
603
  }
580
604
  })
@@ -584,4 +608,4 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
584
608
  export {
585
609
  intent_resolver_default as default
586
610
  };
587
- //# sourceMappingURL=intent-resolver-72KTB4S2.mjs.map
611
+ //# sourceMappingURL=intent-resolver-JO6L2VXC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n contributes,\n createIntent,\n createResolver,\n} from '@dxos/app-framework';\nimport { Obj, Ref, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { isSpace, getSpace, SpaceState, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { DataType } from '@dxos/schema';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n type CreateObjectDialogProps,\n type JoinDialogProps,\n} from '../components';\nimport { SpaceEvents } from '../events';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionAction, SpaceAction } from '../types';\nimport { cloneObject, COMPOSER_SPACE_LOCK, getNestedObjects } from '../util';\n\n// TODO(wittjosiah): Remove.\nconst SPACE_MAX_OBJECTS = 500;\n\ntype IntentResolverOptions = {\n context: PluginContext;\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default ({ context, observability, createInvitationUrl }: IntentResolverOptions) => {\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: SpaceAction.OpenCreateSpace,\n resolve: () => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_SPACE_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Create,\n resolve: async ({ name, hue, icon, edgeReplication }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const space = await client.spaces.create({ name, hue, icon });\n if (edgeReplication) {\n await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);\n }\n await space.waitUntilReady();\n const collection = Obj.make(DataType.Collection, { objects: [] });\n space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection);\n\n if (Migrations.versionProperty) {\n space.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n await context.activatePromise(SpaceEvents.SpaceCreated);\n const onSpaceCreatedCallbacks = context.getCapabilities(SpaceCapabilities.OnSpaceCreated);\n await Promise.all(\n onSpaceCreatedCallbacks.map((onSpaceCreated) => onSpaceCreated({ space, rootCollection: collection })),\n );\n\n return {\n data: {\n id: space.id,\n subject: [space.id],\n space,\n },\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.create',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Join,\n resolve: ({ invitationCode, onDone }) => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: invitationCode,\n onDone,\n } satisfies Partial<JoinDialogProps>,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.OpenMembers,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Share,\n resolve: ({ space, type, authMethod, multiUse, target }) => {\n const invitation = space.share({ type, authMethod, multiUse, target });\n return {\n data: invitation,\n intents: observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.share',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : [],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.GetShareLink,\n resolve: ({ space, target, copyToClipboard }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const invitation = yield* dispatch(\n createIntent(SpaceAction.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target,\n }),\n );\n\n // TODO(wittjosiah): Better api to for this.\n // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.\n const invitationCode = yield* Effect.tryPromise(\n () =>\n new Promise<string>((resolve) => {\n invitation.subscribe((invitation) => {\n if (invitation.state === Invitation.State.CONNECTING) {\n resolve(InvitationEncoder.encode(invitation));\n }\n });\n }),\n );\n const url = createInvitationUrl(invitationCode);\n if (copyToClipboard) {\n yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));\n }\n\n return { data: url };\n }),\n }),\n createResolver({\n intent: SpaceAction.Lock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = true;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.lock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Unlock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = false;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.unlock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Rename,\n resolve: ({ caller, space }) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_SPACE,\n options: {\n anchorId: `dxos.org/ui/${caller}/${space.id}`,\n props: space,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenSettings,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Open,\n resolve: async ({ space }) => {\n await space.open();\n },\n }),\n createResolver({\n intent: SpaceAction.Close,\n resolve: async ({ space }) => {\n await space.close();\n },\n }),\n createResolver({\n intent: SpaceAction.Migrate,\n resolve: async ({ space, version: targetVersion }) => {\n const state = context.getCapability(SpaceCapabilities.MutableState);\n\n if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n state.sdkMigrationRunning[space.id] = true;\n await space.internal.migrate();\n state.sdkMigrationRunning[space.id] = false;\n }\n const result = await Migrations.migrate(space, targetVersion);\n const version = Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined;\n return {\n data: result,\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.migrate',\n properties: {\n spaceId: space.id,\n targetVersion,\n version,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenCreateObject,\n resolve: ({ target, typename, navigable = true }) => {\n const state = context.getCapability(SpaceCapabilities.State);\n\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_OBJECT_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n target,\n typename,\n shouldNavigate: navigable\n ? (object: Obj.Any) => {\n const isCollection = Obj.instanceOf(DataType.Collection, object);\n const isQueryCollection = Obj.instanceOf(DataType.QueryCollection, object);\n return (!isCollection && !isQueryCollection) || state.navigableCollections;\n }\n : () => false,\n } satisfies Partial<CreateObjectDialogProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddObject,\n resolve: async ({ target, object, hidden }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n if (space.db.coreDatabase.getAllObjectIds().length >= SPACE_MAX_OBJECTS) {\n return {\n error: new Error('Space limit reached.'),\n intents: [\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SPACE_PLUGIN}/space-limit`,\n title: ['space limit label', { ns: SPACE_PLUGIN }],\n description: ['space limit description', { ns: SPACE_PLUGIN }],\n duration: 5_000,\n icon: 'ph--warning--regular',\n actionLabel: ['remove deleted objects label', { ns: SPACE_PLUGIN }],\n actionAlt: ['remove deleted objects alt', { ns: SPACE_PLUGIN }],\n closeLabel: ['close label', { ns: 'os' }],\n onAction: () => space.db.coreDatabase.unlinkDeletedObjects(),\n },\n }),\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.limit',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n }\n\n if (Obj.instanceOf(DataType.Collection, target)) {\n target.objects.push(Ref.make(object));\n } else if (isSpace(target) && hidden) {\n space.db.add(object);\n } else if (isSpace(target)) {\n const collection = space.properties[Type.getTypename(DataType.Collection)]?.target;\n if (Obj.instanceOf(DataType.Collection, collection)) {\n collection.objects.push(Ref.make(object));\n } else {\n // TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.\n const collection = Obj.make(DataType.Collection, { objects: [Ref.make(object)] });\n space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection);\n }\n }\n\n return {\n data: {\n id: fullyQualifiedId(object),\n subject: [fullyQualifiedId(object)],\n object,\n },\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: space.id,\n objectId: object.id,\n typename: Obj.getTypename(object),\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddRelation,\n resolve: ({ space, schema, source, target, fields }) => {\n const relation = space.db.add(\n Relation.make(schema, {\n [Relation.Source]: source,\n [Relation.Target]: target,\n ...fields,\n }),\n );\n\n return {\n data: {\n relation,\n },\n };\n },\n }),\n createResolver({\n intent: SpaceAction.RemoveObjects,\n resolve: async ({ objects, target, deletionData }, undo) => {\n const layout = context.getCapability(Capabilities.Layout);\n\n // All objects must be a member of the same space.\n const space = getSpace(objects[0]);\n invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space));\n const openObjectIds = new Set<string>(layout.active);\n\n if (!undo) {\n const parentCollection: DataType.Collection =\n target ?? space.properties[Type.getTypename(DataType.Collection)]?.target;\n const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));\n\n const deletionData = {\n objects,\n parentCollection,\n indices: objects.map((obj) =>\n Obj.instanceOf(DataType.Collection, parentCollection)\n ? parentCollection.objects.findIndex((object) => object.target === obj)\n : -1,\n ),\n nestedObjectsList,\n wasActive: objects\n .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])\n .map((obj) => fullyQualifiedId(obj))\n .filter((id) => openObjectIds.has(id)),\n } satisfies SpaceAction.DeletionData;\n\n if (Obj.instanceOf(DataType.Collection, deletionData.parentCollection)) {\n [...deletionData.indices]\n .sort((a, b) => b - a)\n .forEach((index: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 1);\n }\n });\n }\n\n deletionData.nestedObjectsList.flat().forEach((obj) => {\n space.db.remove(obj);\n });\n objects.forEach((obj) => space.db.remove(obj));\n\n const undoMessageKey = objects.some((obj) => Obj.instanceOf(DataType.Collection, obj))\n ? 'collection deleted label'\n : objects.length > 1\n ? 'objects deleted label'\n : 'object deleted label';\n\n return {\n undoable: {\n // TODO(ZaymonFC): Pluralize if more than one object.\n message: [undoMessageKey, { ns: SPACE_PLUGIN }],\n data: { deletionData },\n },\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: deletionData.wasActive,\n options: { state: false },\n }),\n ]\n : undefined,\n };\n } else {\n if (\n deletionData?.objects?.length &&\n deletionData.objects.every(Obj.isObject) &&\n Obj.instanceOf(DataType.Collection, deletionData.parentCollection)\n ) {\n // Restore the object to the space.\n const restoredObjects = deletionData.objects.map((obj: Type.Expando) => space.db.add(obj));\n\n // Restore nested objects to the space.\n deletionData.nestedObjectsList.flat().forEach((obj: Type.Expando) => {\n space.db.add(obj);\n });\n\n deletionData.indices.forEach((index: number, i: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 0, Ref.make(restoredObjects[i] as Type.Expando));\n }\n });\n\n return {\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: deletionData.wasActive,\n }),\n ]\n : undefined,\n };\n }\n }\n },\n }),\n createResolver({\n intent: SpaceAction.RenameObject,\n resolve: async ({ object, caller }) => ({\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_OBJECT,\n options: {\n anchorId: `dxos.org/ui/${caller}/${fullyQualifiedId(object)}`,\n props: object,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.DuplicateObject,\n resolve: async ({ object, target }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n const newObject = await cloneObject(object, resolve, space);\n return {\n intents: [createIntent(SpaceAction.AddObject, { object: newObject, target })],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.WaitForObject,\n resolve: async ({ id }) => {\n const state = context.getCapability(SpaceCapabilities.MutableState);\n state.awaiting = id;\n },\n }),\n createResolver({\n intent: CollectionAction.Create,\n resolve: async ({ name }) => ({\n data: { object: Obj.make(DataType.Collection, { name, objects: [] }) },\n }),\n }),\n createResolver({\n intent: CollectionAction.CreateQueryCollection,\n resolve: async ({ name, typename }) => ({\n data: { object: Obj.make(DataType.QueryCollection, { name, query: { typename } }) },\n }),\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "LayoutAction", "contributes", "createIntent", "createResolver", "Obj", "Ref", "Relation", "Type", "invariant", "Migrations", "ClientCapabilities", "ObservabilityAction", "EdgeReplicationSetting", "isSpace", "getSpace", "SpaceState", "fullyQualifiedId", "Invitation", "InvitationEncoder", "ATTENDABLE_PATH_SEPARATOR", "DataType", "SPACE_MAX_OBJECTS", "context", "observability", "createInvitationUrl", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "IntentResolver", "createResolver", "intent", "SpaceAction", "OpenCreateSpace", "intents", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "CREATE_SPACE_DIALOG", "options", "blockAlign", "Create", "name", "hue", "icon", "edgeReplication", "client", "getCapability", "ClientCapabilities", "Client", "space", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "Obj", "make", "DataType", "Collection", "objects", "properties", "Type", "getTypename", "Ref", "Migrations", "versionProperty", "targetVersion", "activatePromise", "SpaceEvents", "SpaceCreated", "onSpaceCreatedCallbacks", "SpaceCapabilities", "OnSpaceCreated", "Promise", "all", "map", "onSpaceCreated", "rootCollection", "data", "ObservabilityAction", "SendEvent", "spaceId", "Join", "invitationCode", "onDone", "JOIN_DIALOG", "props", "initialInvitationCode", "OpenMembers", "Open", "ATTENDABLE_PATH_SEPARATOR", "workspace", "Share", "type", "authMethod", "multiUse", "target", "invitation", "share", "GetShareLink", "copyToClipboard", "Effect", "gen", "dispatch", "IntentDispatcher", "Invitation", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "subscribe", "state", "State", "CONNECTING", "InvitationEncoder", "encode", "url", "navigator", "clipboard", "writeText", "Lock", "COMPOSER_SPACE_LOCK", "Unlock", "Rename", "caller", "UpdatePopover", "POPOVER_RENAME_SPACE", "anchorId", "OpenSettings", "open", "Close", "close", "Migrate", "version", "MutableState", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "result", "undefined", "OpenCreateObject", "navigable", "CREATE_OBJECT_DIALOG", "shouldNavigate", "object", "isCollection", "instanceOf", "isQueryCollection", "QueryCollection", "navigableCollections", "AddObject", "hidden", "isSpace", "getSpace", "invariant", "db", "coreDatabase", "getAllObjectIds", "length", "error", "Error", "AddToast", "SPACE_PLUGIN", "title", "ns", "description", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "unlinkDeletedObjects", "push", "add", "fullyQualifiedId", "objectId", "AddRelation", "schema", "source", "fields", "relation", "Relation", "Source", "Target", "RemoveObjects", "deletionData", "undo", "layout", "Layout", "every", "obj", "isObject", "openObjectIds", "Set", "active", "parentCollection", "nestedObjectsList", "getNestedObjects", "indices", "findIndex", "wasActive", "flatMap", "i", "filter", "has", "sort", "a", "b", "forEach", "index", "splice", "flat", "remove", "undoMessageKey", "some", "undoable", "message", "restoredObjects", "RenameObject", "POPOVER_RENAME_OBJECT", "DuplicateObject", "newObject", "cloneObject", "WaitForObject", "awaiting", "CollectionAction", "CreateQueryCollection", "query"]
7
+ }