@dxos/plugin-space 0.8.3 → 0.8.4-main.1da679c

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 (294) hide show
  1. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs +31 -0
  2. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +90 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +7 -0
  5. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +68 -0
  6. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-FC4D5PF6.mjs} +190 -36
  8. package/dist/lib/browser/app-graph-builder-FC4D5PF6.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-NI4BCIQO.mjs} +15 -15
  10. package/dist/lib/browser/app-graph-serializer-NI4BCIQO.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-CBYL62HG.mjs} +5 -4
  12. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-ELJDGQTO.mjs} +6 -6
  14. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-ELJDGQTO.mjs.map} +3 -3
  15. package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
  16. package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-IIY4XVBZ.mjs} +440 -376
  17. package/dist/lib/browser/chunk-IIY4XVBZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-S33AYKSS.mjs} +189 -34
  19. package/dist/lib/browser/chunk-S33AYKSS.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-TUQZO5P4.mjs} +4 -3
  21. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-URST7EEN.mjs} +68 -8
  23. package/dist/lib/browser/chunk-URST7EEN.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-WZYRDFW7.mjs} +76 -14
  25. package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +7 -0
  26. package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-PW2BA46S.mjs} +7 -7
  27. package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +7 -0
  28. package/dist/lib/browser/index.mjs +95 -24
  29. package/dist/lib/browser/index.mjs.map +3 -3
  30. package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-2RWP2F23.mjs} +183 -28
  31. package/dist/lib/browser/intent-resolver-2RWP2F23.mjs.map +7 -0
  32. package/dist/lib/browser/meta.json +1 -1
  33. package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-QUDHNVV5.mjs} +10 -10
  34. package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-QUDHNVV5.mjs.map} +2 -2
  35. package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-S47ZR44T.mjs} +59 -27
  36. package/dist/lib/browser/react-surface-S47ZR44T.mjs.map +7 -0
  37. package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-ATNBAQEU.mjs} +6 -6
  38. package/dist/lib/browser/schema-defs-ATNBAQEU.mjs.map +7 -0
  39. package/dist/lib/browser/{settings-K54STC5A.mjs → settings-NTC766QW.mjs} +6 -6
  40. package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-NTC766QW.mjs.map} +1 -1
  41. package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-NX7NRVSB.mjs} +19 -17
  42. package/dist/lib/browser/spaces-ready-NX7NRVSB.mjs.map +7 -0
  43. package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-LAGTPHDQ.mjs} +6 -6
  44. package/dist/lib/browser/state-LAGTPHDQ.mjs.map +7 -0
  45. package/dist/lib/browser/types/index.mjs +2 -2
  46. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
  47. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
  48. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +91 -0
  49. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +7 -0
  50. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +70 -0
  51. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +7 -0
  52. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-KREU52XR.mjs} +190 -36
  53. package/dist/lib/node-esm/app-graph-builder-KREU52XR.mjs.map +7 -0
  54. package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-L3IXSQ2I.mjs} +15 -15
  55. package/dist/lib/node-esm/app-graph-serializer-L3IXSQ2I.mjs.map +7 -0
  56. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-FJZNSJC4.mjs} +5 -4
  57. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-HC677WUJ.mjs} +4 -3
  59. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
  61. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-LGNPMOXU.mjs} +76 -14
  62. package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-Q6AAQLQG.mjs} +6 -6
  64. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-Q6AAQLQG.mjs.map} +3 -3
  65. package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-QUPBTNWJ.mjs} +440 -376
  66. package/dist/lib/node-esm/chunk-QUPBTNWJ.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-RXDT5LA5.mjs} +68 -8
  68. package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-TEUN2E4F.mjs} +189 -34
  70. package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +7 -0
  71. package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-MWTLGQRU.mjs} +7 -7
  72. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +7 -0
  73. package/dist/lib/node-esm/index.mjs +95 -24
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-ORRPXJMN.mjs} +183 -28
  76. package/dist/lib/node-esm/intent-resolver-ORRPXJMN.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-2WBNW4VQ.mjs} +10 -10
  79. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-2WBNW4VQ.mjs.map} +2 -2
  80. package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-MI5G3TD6.mjs} +59 -27
  81. package/dist/lib/node-esm/react-surface-MI5G3TD6.mjs.map +7 -0
  82. package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-7LEPK3R6.mjs} +6 -6
  83. package/dist/lib/node-esm/schema-defs-7LEPK3R6.mjs.map +7 -0
  84. package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-RWOW2SE5.mjs} +6 -6
  85. package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-RWOW2SE5.mjs.map} +1 -1
  86. package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-KD57IOYI.mjs} +19 -17
  87. package/dist/lib/node-esm/spaces-ready-KD57IOYI.mjs.map +7 -0
  88. package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-JKO4JKA2.mjs} +6 -6
  89. package/dist/lib/node-esm/state-JKO4JKA2.mjs.map +7 -0
  90. package/dist/lib/node-esm/types/index.mjs +2 -2
  91. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  93. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  95. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/capabilities.d.ts +9 -3
  97. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  99. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/index.d.ts +11 -12
  101. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  103. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  105. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  107. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  109. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/settings.d.ts +1 -1
  111. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  112. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/state.d.ts +1 -1
  114. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  115. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  116. package/dist/types/src/components/CollectionMain.d.ts +1 -0
  117. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +4 -3
  119. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  120. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1584 -3
  121. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  122. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
  123. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  124. package/dist/types/src/components/MembersContainer.d.ts +3 -2
  125. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  126. package/dist/types/src/components/MembersContainer.stories.d.ts +1584 -4
  127. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  129. package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
  130. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
  131. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  132. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  134. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
  135. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  136. package/dist/types/src/components/RecordMain.d.ts +7 -0
  137. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  138. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  139. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  140. package/dist/types/src/components/SpacePresence.stories.d.ts +1411 -2
  141. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  142. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  143. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1417 -3
  144. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  145. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  146. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  147. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1418 -4
  148. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  149. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  150. package/dist/types/src/components/ViewEditor.d.ts +8 -0
  151. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  152. package/dist/types/src/components/index.d.ts +14 -1
  153. package/dist/types/src/components/index.d.ts.map +1 -1
  154. package/dist/types/src/events.d.ts +1 -0
  155. package/dist/types/src/events.d.ts.map +1 -1
  156. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  157. package/dist/types/src/translations.d.ts +1402 -410
  158. package/dist/types/src/translations.d.ts.map +1 -1
  159. package/dist/types/src/types/types.d.ts +82 -22
  160. package/dist/types/src/types/types.d.ts.map +1 -1
  161. package/dist/types/src/util.d.ts +32 -5
  162. package/dist/types/src/util.d.ts.map +1 -1
  163. package/dist/types/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +54 -53
  165. package/src/SpacePlugin.ts +81 -16
  166. package/src/capabilities/app-graph-builder.ts +232 -22
  167. package/src/capabilities/app-graph-serializer.ts +6 -6
  168. package/src/capabilities/capabilities.ts +9 -3
  169. package/src/capabilities/identity-created.ts +3 -5
  170. package/src/capabilities/index.ts +0 -1
  171. package/src/capabilities/intent-resolver.ts +136 -15
  172. package/src/capabilities/react-root.tsx +2 -1
  173. package/src/capabilities/react-surface.tsx +73 -22
  174. package/src/capabilities/schema-defs.ts +3 -2
  175. package/src/capabilities/spaces-ready.ts +10 -7
  176. package/src/capabilities/state.ts +3 -2
  177. package/src/components/AwaitingObject.tsx +5 -7
  178. package/src/components/CollectionMain.tsx +2 -0
  179. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +9 -8
  180. package/src/components/CreateDialog/CreateObjectDialog.tsx +47 -33
  181. package/src/components/CreateDialog/CreateObjectPanel.tsx +18 -7
  182. package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
  183. package/src/components/JoinDialog.tsx +1 -1
  184. package/src/components/MembersContainer.stories.tsx +35 -10
  185. package/src/components/MembersContainer.tsx +13 -13
  186. package/src/components/MenuFooter.tsx +2 -3
  187. package/src/components/ObjectDetailsPanel.tsx +79 -0
  188. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -1
  189. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
  190. package/src/components/PersistenceStatus.tsx +5 -6
  191. package/src/components/PopoverRenameObject.tsx +7 -13
  192. package/src/components/PopoverRenameSpace.tsx +1 -1
  193. package/src/components/RecordMain.tsx +43 -0
  194. package/src/components/SchemaContainer.tsx +2 -2
  195. package/src/components/SpacePluginSettings.tsx +6 -7
  196. package/src/components/SpacePresence.stories.tsx +8 -5
  197. package/src/components/SpacePresence.tsx +7 -7
  198. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -6
  199. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +8 -8
  200. package/src/components/SyncStatus/SyncStatus.stories.tsx +12 -18
  201. package/src/components/SyncStatus/SyncStatus.tsx +4 -3
  202. package/src/components/SyncStatus/save-tracker.ts +3 -3
  203. package/src/components/SyncStatus/status.ts +4 -4
  204. package/src/components/ViewEditor.tsx +59 -0
  205. package/src/components/index.ts +7 -1
  206. package/src/events.ts +2 -1
  207. package/src/hooks/useActiveSpace.ts +2 -2
  208. package/src/hooks/useInputSurfaceLookup.tsx +1 -1
  209. package/src/translations.ts +74 -9
  210. package/src/types/types.ts +66 -9
  211. package/src/util.tsx +177 -33
  212. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
  213. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  214. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  215. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
  216. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  217. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
  218. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  219. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
  220. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  221. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  222. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  223. package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
  224. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs +0 -124
  225. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
  226. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
  227. package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
  228. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  229. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  230. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  231. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  232. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  233. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  234. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  235. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  236. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  237. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  238. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  239. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  240. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  241. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  242. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  243. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  244. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  245. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  246. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  247. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  248. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  249. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  250. package/dist/lib/node/index.cjs +0 -278
  251. package/dist/lib/node/index.cjs.map +0 -7
  252. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  253. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  254. package/dist/lib/node/meta.json +0 -1
  255. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  256. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  257. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  258. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  259. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  260. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  261. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  262. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  263. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  264. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  265. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  266. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  267. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  268. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  269. package/dist/lib/node/types/index.cjs +0 -48
  270. package/dist/lib/node/types/index.cjs.map +0 -7
  271. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
  272. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  273. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
  275. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
  276. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  277. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  278. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  279. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  280. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  281. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  282. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
  283. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs +0 -126
  284. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
  285. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
  286. package/dist/lib/node-esm/state-XQNDCN37.mjs.map +0 -7
  287. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  288. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  289. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  290. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  291. package/src/capabilities/schema-tool.test.ts +0 -44
  292. package/src/capabilities/schema-tools.ts +0 -125
  293. /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
  294. /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  SPACE_TYPE,
3
3
  SpaceAction
4
- } from "./chunk-TW7O2EPP.mjs";
4
+ } from "./chunk-URST7EEN.mjs";
5
5
  import {
6
6
  SPACE_PLUGIN
7
- } from "./chunk-PTKYMZWO.mjs";
7
+ } from "./chunk-FBCGT5YY.mjs";
8
8
 
9
- // packages/plugins/plugin-space/src/util.tsx
9
+ // src/util.tsx
10
10
  import { Rx } from "@effect-rx/rx-react";
11
11
  import { pipe } from "effect";
12
- import { chain, createIntent, LayoutAction } from "@dxos/app-framework";
12
+ import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
13
13
  import { Obj, Ref, Type } from "@dxos/echo";
14
14
  import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
15
15
  import { invariant } from "@dxos/invariant";
16
16
  import { Migrations } from "@dxos/migrations";
17
17
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
18
- import { fullyQualifiedId, getSpace, SpaceState, isSpace } from "@dxos/react-client/echo";
18
+ import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
19
19
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
20
- import { DataType } from "@dxos/schema";
21
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
20
+ import { DataType, typenameFromQuery } from "@dxos/schema";
21
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
22
22
  var SPACES = `${SPACE_PLUGIN}-spaces`;
23
23
  var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
24
24
  var SHARED = "shared-spaces";
@@ -83,8 +83,9 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
83
83
  };
84
84
  };
85
85
  var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
86
+ const typename = typenameFromQuery(collection.query);
86
87
  return {
87
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
88
+ icon: typename && resolve(typename)?.icon,
88
89
  acceptPersistenceClass: /* @__PURE__ */ new Set([
89
90
  "echo"
90
91
  ]),
@@ -93,7 +94,7 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
93
94
  ]),
94
95
  role: "branch",
95
96
  canDrop: (source) => {
96
- return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
97
+ return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
97
98
  },
98
99
  onTransferStart: (child, index) => {
99
100
  },
@@ -101,12 +102,34 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
101
102
  }
102
103
  };
103
104
  };
105
+ var getSchemaGraphNodePartials = () => {
106
+ return {
107
+ role: "branch",
108
+ canDrop: () => false
109
+ };
110
+ };
111
+ var getViewGraphNodePartials = ({ view, resolve }) => {
112
+ const presentation = view.presentation.target;
113
+ const typename = presentation ? Obj.getTypename(presentation) : void 0;
114
+ const metadata = typename ? resolve(typename) : {};
115
+ return {
116
+ label: view.name || [
117
+ "object name placeholder",
118
+ {
119
+ ns: typename,
120
+ default: "New view"
121
+ }
122
+ ],
123
+ icon: metadata.icon,
124
+ canDrop: () => false
125
+ };
126
+ };
104
127
  var checkPendingMigration = (space) => {
105
128
  return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
106
129
  };
107
130
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
108
131
  const hasPendingMigration = checkPendingMigration(space);
109
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;
132
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
110
133
  const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
111
134
  collection,
112
135
  space,
@@ -274,15 +297,103 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
274
297
  }
275
298
  return actions;
276
299
  };
277
- var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
300
+ var createStaticSchemaNode = ({ schema, space }) => {
301
+ return {
302
+ id: `${space.id}/${Type.getTypename(schema)}`,
303
+ type: `${SPACE_PLUGIN}/static-schema`,
304
+ data: schema,
305
+ properties: {
306
+ label: [
307
+ "typename label",
308
+ {
309
+ ns: Type.getTypename(schema),
310
+ default: Type.getTypename(schema)
311
+ }
312
+ ],
313
+ icon: "ph--database--regular",
314
+ role: "branch",
315
+ canDrop: () => false,
316
+ space
317
+ }
318
+ };
319
+ };
320
+ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
321
+ const getId = (id) => `${space.id}/${Type.getTypename(schema)}/${id}`;
322
+ const actions = [
323
+ {
324
+ id: getId(SpaceAction.AddObject._tag),
325
+ type: ACTION_TYPE,
326
+ data: async () => {
327
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
328
+ target: space,
329
+ views: true,
330
+ initialFormValues: {
331
+ typename: Type.getTypename(schema)
332
+ }
333
+ }));
334
+ },
335
+ properties: {
336
+ label: [
337
+ "add view to schema label",
338
+ {
339
+ ns: Type.getTypename(DataType.StoredSchema)
340
+ }
341
+ ],
342
+ icon: "ph--plus--regular",
343
+ disposition: "list-item-primary",
344
+ testId: "spacePlugin.addViewToSchema"
345
+ }
346
+ },
347
+ {
348
+ id: getId(SpaceAction.RenameObject._tag),
349
+ type: ACTION_TYPE,
350
+ data: async (params) => {
351
+ throw new Error("Not implemented");
352
+ },
353
+ properties: {
354
+ label: [
355
+ "rename object label",
356
+ {
357
+ ns: Type.getTypename(DataType.StoredSchema)
358
+ }
359
+ ],
360
+ icon: "ph--pencil-simple-line--regular",
361
+ disabled: true,
362
+ disposition: "list-item",
363
+ testId: "spacePlugin.renameObject"
364
+ }
365
+ },
366
+ {
367
+ id: getId(SpaceAction.RemoveObjects._tag),
368
+ type: ACTION_TYPE,
369
+ data: async () => {
370
+ const index = space.properties.staticRecords.findIndex((typename) => typename === Type.getTypename(schema));
371
+ if (index > -1) {
372
+ space.properties.staticRecords.splice(index, 1);
373
+ }
374
+ },
375
+ properties: {
376
+ label: [
377
+ "delete object label",
378
+ {
379
+ ns: Type.getTypename(DataType.StoredSchema)
380
+ }
381
+ ],
382
+ icon: "ph--trash--regular",
383
+ disposition: "list-item",
384
+ disabled: !deletable,
385
+ testId: "spacePlugin.deleteObject"
386
+ }
387
+ }
388
+ ];
389
+ return actions;
390
+ };
391
+ var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
278
392
  const type = Obj.getTypename(object);
279
393
  if (!type) {
280
- return void 0;
394
+ return null;
281
395
  }
282
396
  const metadata = resolve(type);
283
- if (Object.keys(metadata).length === 0) {
284
- return void 0;
285
- }
286
397
  const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
287
398
  collection: object,
288
399
  space,
@@ -291,7 +402,18 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
291
402
  collection: object,
292
403
  space,
293
404
  resolve
405
+ }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
406
+ view: object,
407
+ resolve
294
408
  }) : metadata.graphProps;
409
+ const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
410
+ metadata.label?.(object) || [
411
+ "object name placeholder",
412
+ {
413
+ ns: type,
414
+ default: "New item"
415
+ }
416
+ ];
295
417
  return {
296
418
  id: fullyQualifiedId(object),
297
419
  type,
@@ -302,15 +424,9 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
302
424
  ],
303
425
  data: object,
304
426
  properties: {
305
- // TODO(burdon): Use annotation to get the name field.
306
- label: metadata.label?.(object) || object.name || [
307
- "object name placeholder",
308
- {
309
- ns: type,
310
- default: "New object"
311
- }
312
- ],
427
+ label,
313
428
  icon: metadata.icon ?? "ph--placeholder--regular",
429
+ disposition,
314
430
  testId: "spacePlugin.object",
315
431
  persistenceClass: "echo",
316
432
  persistenceKey: space?.id,
@@ -321,20 +437,30 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
321
437
  }
322
438
  };
323
439
  };
324
- var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
440
+ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
325
441
  const space = getSpace(object);
326
442
  invariant(space, "Space not found", {
327
443
  F: __dxlog_file,
328
- L: 398,
444
+ L: 518,
329
445
  S: void 0,
330
446
  A: [
331
447
  "space",
332
448
  "'Space not found'"
333
449
  ]
334
450
  });
451
+ const typename = Obj.getTypename(object);
452
+ invariant(typename, "Object has no typename", {
453
+ F: __dxlog_file,
454
+ L: 520,
455
+ S: void 0,
456
+ A: [
457
+ "typename",
458
+ "'Object has no typename'"
459
+ ]
460
+ });
335
461
  const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
336
462
  const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
337
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
463
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query)) : void 0;
338
464
  const actions = [
339
465
  ...Obj.instanceOf(DataType.Collection, object) ? [
340
466
  {
@@ -358,6 +484,32 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
358
484
  }
359
485
  }
360
486
  ] : [],
487
+ ...Obj.instanceOf(DataType.StoredSchema, object) ? [
488
+ {
489
+ id: getId(SpaceAction.AddObject._tag),
490
+ type: ACTION_TYPE,
491
+ data: async () => {
492
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
493
+ target: space,
494
+ views: true,
495
+ initialFormValues: {
496
+ typename: object.typename
497
+ }
498
+ }));
499
+ },
500
+ properties: {
501
+ label: [
502
+ "add view to schema label",
503
+ {
504
+ ns: Type.getTypename(DataType.StoredSchema)
505
+ }
506
+ ],
507
+ icon: "ph--plus--regular",
508
+ disposition: "list-item-primary",
509
+ testId: "spacePlugin.addViewToSchema"
510
+ }
511
+ }
512
+ ] : [],
361
513
  ...matchingObjectForm ? [
362
514
  {
363
515
  id: getId(SpaceAction.OpenCreateObject._tag),
@@ -366,7 +518,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
366
518
  if (matchingObjectForm.formSchema) {
367
519
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
368
520
  target: space,
369
- typename: queryCollection?.query.typename
521
+ typename: queryCollection ? typenameFromQuery(queryCollection.query) : void 0
370
522
  }));
371
523
  } else {
372
524
  await dispatch(pipe(matchingObjectForm.getIntent({}, {
@@ -403,9 +555,9 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
403
555
  },
404
556
  properties: {
405
557
  label: [
406
- Obj.instanceOf(DataType.Collection, object) ? "rename collection label" : "rename object label",
558
+ "rename object label",
407
559
  {
408
- ns: SPACE_PLUGIN
560
+ ns: typename
409
561
  }
410
562
  ],
411
563
  icon: "ph--pencil-simple-line--regular",
@@ -431,19 +583,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
431
583
  },
432
584
  properties: {
433
585
  label: [
434
- Obj.instanceOf(DataType.Collection, object) ? "delete collection label" : "delete object label",
586
+ "delete object label",
435
587
  {
436
- ns: SPACE_PLUGIN
588
+ ns: typename
437
589
  }
438
590
  ],
439
591
  icon: "ph--trash--regular",
440
592
  disposition: "list-item",
593
+ disabled: !deletable,
441
594
  // TODO(wittjosiah): This is a browser shortcut.
442
595
  // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
443
596
  testId: "spacePlugin.deleteObject"
444
597
  }
445
598
  },
446
- ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) ? [
599
+ ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
447
600
  {
448
601
  id: getId("copy-link"),
449
602
  type: ACTION_TYPE,
@@ -513,7 +666,7 @@ var cloneObject = async (object, resolve, newSpace) => {
513
666
  const serializer = metadata.serializer;
514
667
  invariant(serializer, `No serializer for type: ${typename}`, {
515
668
  F: __dxlog_file,
516
- L: 570,
669
+ L: 714,
517
670
  S: void 0,
518
671
  A: [
519
672
  "serializer",
@@ -538,9 +691,11 @@ export {
538
691
  getSpaceDisplayName,
539
692
  constructSpaceNode,
540
693
  constructSpaceActions,
694
+ createStaticSchemaNode,
695
+ createStaticSchemaActions,
541
696
  createObjectNode,
542
697
  constructObjectActions,
543
698
  getNestedObjects,
544
699
  cloneObject
545
700
  };
546
- //# sourceMappingURL=chunk-V24VASAJ.mjs.map
701
+ //# sourceMappingURL=chunk-S33AYKSS.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 { Rx } from '@effect-rx/rx-react';\nimport { pipe } from 'effect';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type QueryResult, type Space, SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType, typenameFromQuery } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { type ObjectForm, SPACE_TYPE, SpaceAction } 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\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\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 collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\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(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.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, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.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<Obj.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, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const typename = typenameFromQuery(collection.query);\n return {\n icon: typename && resolve(typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst getViewGraphNodePartials = ({\n view,\n resolve,\n}: {\n view: DataType.View;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const presentation = view.presentation.target;\n const typename = presentation ? Obj.getTypename(presentation) : undefined;\n const metadata = typename ? resolve(typename) : {};\n\n return {\n label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],\n icon: metadata.icon,\n canDrop: () => false,\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 =\n space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\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 canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\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 createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${SPACE_PLUGIN}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n role: 'branch',\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.StoredSchema, object)\n ? getSchemaGraphNodePartials()\n : Obj.instanceOf(DataType.View, object)\n ? getViewGraphNodePartials({ view: object, resolve })\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query))\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\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 ...(Obj.instanceOf(DataType.StoredSchema, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection ? typenameFromQuery(queryCollection.query) : undefined,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart 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: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable ||\n (!Obj.instanceOf(DataType.Collection, object) &&\n !Obj.instanceOf(DataType.QueryCollection, object) &&\n !Obj.instanceOf(DataType.StoredSchema, object))\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 disposition: 'list-item',\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 disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.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: Obj.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: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? 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": ["Rx", "pipe", "LayoutAction", "chain", "createIntent", "Obj", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "fullyQualifiedId", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "DataType", "typenameFromQuery", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "typename", "typenameFromQuery", "icon", "canDrop", "source", "isGraphNode", "item", "getTypename", "getSchemaGraphNodePartials", "getViewGraphNodePartials", "view", "presentation", "undefined", "metadata", "label", "default", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "testId", "isSpace", "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", "createStaticSchemaNode", "schema", "Type", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "StoredSchema", "RenameObject", "Error", "RemoveObjects", "staticRecords", "createObjectNode", "droppable", "QueryCollection", "View", "graphProps", "getLabel", "fullyQualifiedId", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  SPACE_PLUGIN
3
- } from "./chunk-PTKYMZWO.mjs";
3
+ } from "./chunk-FBCGT5YY.mjs";
4
4
 
5
- // packages/plugins/plugin-space/src/capabilities/capabilities.ts
5
+ // src/capabilities/capabilities.ts
6
6
  import { defineCapability } from "@dxos/app-framework";
7
7
  (function(SpaceCapabilities2) {
8
8
  SpaceCapabilities2.State = defineCapability(`${SPACE_PLUGIN}/capability/state`);
9
9
  SpaceCapabilities2.MutableState = defineCapability(`${SPACE_PLUGIN}/capability/state`);
10
10
  SpaceCapabilities2.SettingsSection = defineCapability(`${SPACE_PLUGIN}/capability/settings-section`);
11
11
  SpaceCapabilities2.OnSpaceCreated = defineCapability(`${SPACE_PLUGIN}/capability/on-space-created`);
12
+ SpaceCapabilities2.OnSchemaAdded = defineCapability(`${SPACE_PLUGIN}/capability/on-schema-added`);
12
13
  SpaceCapabilities2.ObjectForm = defineCapability(`${SPACE_PLUGIN}/capability/object-form`);
13
14
  })(SpaceCapabilities || (SpaceCapabilities = {}));
14
15
  var SpaceCapabilities;
@@ -16,4 +17,4 @@ var SpaceCapabilities;
16
17
  export {
17
18
  SpaceCapabilities
18
19
  };
19
- //# sourceMappingURL=chunk-BXNL6SDI.mjs.map
20
+ //# sourceMappingURL=chunk-TUQZO5P4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/capabilities.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\n\nimport { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type DataType } from '@dxos/schema';\nimport { type DeepReadonly, type Position } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport { type ObjectForm, type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${SPACE_PLUGIN}/capability/state`);\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = defineCapability<SettingsSection>(`${SPACE_PLUGIN}/capability/settings-section`);\n\n export type OnSpaceCreated = (params: { space: Space; rootCollection: DataType.Collection }) => AnyIntentChain;\n export const OnSpaceCreated = defineCapability<OnSpaceCreated>(`${SPACE_PLUGIN}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: { space: Space; schema: Schema.Schema.AnyNoContext }) => AnyIntentChain;\n export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${SPACE_PLUGIN}/capability/on-schema-added`);\n\n // TODO(burdon): Should this be view? Forms are UI concepts? (associated with a View/schema).\n export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);\n}\n"],
5
+ "mappings": ";;;;;AAMA,SAA0CA,wBAAwB;UAQjDC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,YAAAA,mBAA+B;qBACtFC,eAAeF,iBAA8B,GAAGC,YAAAA,mBAA+B;qBAG/EE,kBAAkBH,iBAAkC,GAAGC,YAAAA,8BAA0C;qBAGjGG,iBAAiBJ,iBAAiC,GAAGC,YAAAA,8BAA0C;qBAG/FI,gBAAgBL,iBAAgC,GAAGC,YAAAA,6BAAyC;qBAG5FK,aAAaN,iBAAkC,GAAGC,YAAAA,yBAAqC;AACtG,GAfiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "SPACE_PLUGIN", "MutableState", "SettingsSection", "OnSpaceCreated", "OnSchemaAdded", "ObjectForm"]
7
+ }
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  SPACE_PLUGIN
3
- } from "./chunk-PTKYMZWO.mjs";
3
+ } from "./chunk-FBCGT5YY.mjs";
4
4
 
5
- // packages/plugins/plugin-space/src/types/types.ts
5
+ // src/types/types.ts
6
6
  import { Schema } from "effect";
7
7
  import { Type } from "@dxos/echo";
8
+ import { EchoSchema, StoredSchema } from "@dxos/echo-schema";
8
9
  import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
9
10
  import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
10
- import { DataType, TypenameAnnotationId } from "@dxos/schema";
11
+ import { DataType, FieldSchema, TypenameAnnotationId } from "@dxos/schema";
11
12
  var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
12
13
  var SPACE_TYPE = "dxos.org/type/Space";
13
14
  var SpaceSettingsSchema = Schema.mutable(Schema.Struct({
@@ -151,11 +152,68 @@ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
151
152
  }) {
152
153
  }
153
154
  SpaceAction2.Migrate = Migrate;
155
+ SpaceAction2.StoredSchemaForm = Schema.Struct({
156
+ name: Schema.optional(Schema.String),
157
+ typename: Schema.optional(Schema.String.annotations({
158
+ [TypenameAnnotationId]: [
159
+ "unused-static"
160
+ ]
161
+ }))
162
+ });
163
+ class UseStaticSchema extends Schema.TaggedClass()(`${SPACE_ACTION}/use-static-schema`, {
164
+ input: Schema.Struct({
165
+ space: SpaceSchema,
166
+ typename: Schema.String
167
+ }),
168
+ output: Schema.Struct({})
169
+ }) {
170
+ }
171
+ SpaceAction2.UseStaticSchema = UseStaticSchema;
172
+ class AddSchema extends Schema.TaggedClass()(`${SPACE_ACTION}/add-schema`, {
173
+ input: Schema.Struct({
174
+ space: SpaceSchema,
175
+ name: Schema.optional(Schema.String),
176
+ typename: Schema.optional(Schema.String),
177
+ // TODO(wittjosiah): Semantic version format.
178
+ version: Schema.optional(Schema.String),
179
+ // TODO(wittjosiah): Schema for schema?
180
+ schema: Schema.Any
181
+ }),
182
+ output: Schema.Struct({
183
+ // TODO(wittjosiah): ObjectId.
184
+ id: Schema.String,
185
+ object: StoredSchema,
186
+ schema: Schema.instanceOf(EchoSchema)
187
+ })
188
+ }) {
189
+ }
190
+ SpaceAction2.AddSchema = AddSchema;
191
+ class DeleteField extends Schema.TaggedClass()(`${SPACE_ACTION}/delete-field`, {
192
+ input: Schema.Struct({
193
+ view: DataType.View,
194
+ fieldId: Schema.String,
195
+ // TODO(wittjosiah): Separate fields for undo data?
196
+ deletionData: Schema.optional(Schema.Struct({
197
+ field: FieldSchema,
198
+ // TODO(wittjosiah): This creates a type error.
199
+ // props: PropertySchema,
200
+ props: Schema.Any,
201
+ index: Schema.Number
202
+ }))
203
+ }),
204
+ output: Schema.Void
205
+ }) {
206
+ }
207
+ SpaceAction2.DeleteField = DeleteField;
154
208
  class OpenCreateObject extends Schema.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
155
209
  input: Schema.Struct({
156
210
  target: Schema.Union(SpaceSchema, DataType.Collection),
211
+ views: Schema.optional(Schema.Boolean),
157
212
  typename: Schema.optional(Schema.String),
158
- navigable: Schema.optional(Schema.Boolean)
213
+ initialFormValues: Schema.optional(Schema.Any),
214
+ navigable: Schema.optional(Schema.Boolean),
215
+ // TODO(wittjosiah): This is a function, is there a better way to handle this?
216
+ onCreateObject: Schema.optional(Schema.Any)
159
217
  }),
160
218
  output: Schema.Void
161
219
  }) {
@@ -168,6 +226,7 @@ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
168
226
  hidden: Schema.optional(Schema.Boolean)
169
227
  }),
170
228
  output: Schema.Struct({
229
+ // TODO(wittjosiah): ObjectId.
171
230
  id: Schema.String,
172
231
  subject: Schema.Array(Schema.String),
173
232
  object: EchoObjectSchema
@@ -251,16 +310,17 @@ var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
251
310
  CollectionAction2.Create = Create;
252
311
  CollectionAction2.QueryCollectionForm = Schema.Struct({
253
312
  name: Schema.optional(Schema.String),
254
- typename: Schema.optional(Schema.String.annotations({
313
+ typename: Schema.String.annotations({
255
314
  [TypenameAnnotationId]: [
256
315
  "object-form"
257
316
  ]
258
- }))
317
+ })
259
318
  });
260
319
  class CreateQueryCollection extends Schema.TaggedClass()("dxos.org/plugin/collection/action/create-query-collection", {
261
320
  input: CollectionAction2.QueryCollectionForm,
262
321
  output: Schema.Struct({
263
- object: DataType.QueryCollection
322
+ // TODO(wittjosiah): Remove cast.
323
+ object: EchoObjectSchema
264
324
  })
265
325
  }) {
266
326
  }
@@ -281,4 +341,4 @@ export {
281
341
  SpaceAction,
282
342
  CollectionAction
283
343
  };
284
- //# sourceMappingURL=chunk-TW7O2EPP.mjs.map
344
+ //# sourceMappingURL=chunk-URST7EEN.mjs.map