@dxos/plugin-space 0.8.3 → 0.8.4-main.2e9d522

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 (228) 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-YPTDQKMG.mjs +88 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-7CZZJS3S.mjs} +143 -27
  6. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-H6AW7KGS.mjs} +13 -13
  8. package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-CEFHNVU7.mjs} +4 -3
  10. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
  12. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-JS3MMC42.mjs} +4 -3
  13. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs.map → chunk-JS3MMC42.mjs.map} +3 -3
  14. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-QACNNDOT.mjs} +73 -12
  15. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-SGTQ52SU.mjs} +59 -5
  17. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-V7MJSSBQ.mjs} +392 -324
  19. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-VLBRSGJ2.mjs} +4 -4
  21. package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-XUYKJUU7.mjs} +128 -25
  22. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +7 -0
  23. package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-23XJJV2N.mjs} +4 -4
  24. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +7 -0
  25. package/dist/lib/browser/index.mjs +105 -16
  26. package/dist/lib/browser/index.mjs.map +3 -3
  27. package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-TIXVDYN7.mjs} +171 -21
  28. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +7 -0
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-N2J7TDRX.mjs} +8 -8
  31. package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-TPNLWJJH.mjs} +42 -21
  32. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +7 -0
  33. package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-Z6FC4AHC.mjs} +4 -4
  34. package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs → schema-tools-BNP4JTD7.mjs} +3 -3
  35. package/dist/lib/browser/{settings-K54STC5A.mjs → settings-4IMP5RYT.mjs} +4 -4
  36. package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-TOPG6IV4.mjs} +7 -7
  37. package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-QYZAB45H.mjs} +4 -4
  38. package/dist/lib/browser/types/index.mjs +2 -2
  39. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
  40. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
  41. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +89 -0
  42. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +7 -0
  43. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-KGIGWC72.mjs} +143 -27
  44. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +7 -0
  45. package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-2ICUGQQT.mjs} +13 -13
  46. package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +7 -0
  47. package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-4AOMYKDE.mjs} +128 -25
  48. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-5HHYE264.mjs} +4 -3
  50. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs.map → chunk-5HHYE264.mjs.map} +3 -3
  51. package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-5T3ZH23B.mjs} +4 -3
  52. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-6X5DLJM5.mjs} +392 -324
  54. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
  56. package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-JH6F4C3I.mjs} +59 -5
  57. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-P442DOQ3.mjs} +73 -12
  59. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-SSLBYZEY.mjs} +4 -4
  61. package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-IJQO6GCR.mjs} +4 -4
  62. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +105 -16
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-MHGHRGDT.mjs} +171 -21
  66. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +7 -0
  67. package/dist/lib/node-esm/meta.json +1 -1
  68. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-KW3TGJGY.mjs} +8 -8
  69. package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-UUIUUD6P.mjs} +42 -21
  70. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +7 -0
  71. package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-WHJM7UZE.mjs} +4 -4
  72. package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs → schema-tools-KWW5PTML.mjs} +3 -3
  73. package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-SAOBPND3.mjs} +4 -4
  74. package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-HIUKNDZK.mjs} +7 -7
  75. package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-ZVEHQ4BJ.mjs} +4 -4
  76. package/dist/lib/node-esm/types/index.mjs +2 -2
  77. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/capabilities.d.ts +9 -3
  81. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  85. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  86. package/dist/types/src/components/CollectionMain.d.ts +1 -0
  87. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  88. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -2
  89. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  90. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
  91. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  92. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  93. package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
  94. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  96. package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
  97. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
  98. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  99. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  100. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1 -1
  102. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  104. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1 -1
  105. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  107. package/dist/types/src/components/ViewEditor.d.ts +8 -0
  108. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  109. package/dist/types/src/components/index.d.ts +8 -1
  110. package/dist/types/src/components/index.d.ts.map +1 -1
  111. package/dist/types/src/events.d.ts +1 -0
  112. package/dist/types/src/events.d.ts.map +1 -1
  113. package/dist/types/src/translations.d.ts +212 -410
  114. package/dist/types/src/translations.d.ts.map +1 -1
  115. package/dist/types/src/types/types.d.ts +82 -2
  116. package/dist/types/src/types/types.d.ts.map +1 -1
  117. package/dist/types/src/util.d.ts +27 -2
  118. package/dist/types/src/util.d.ts.map +1 -1
  119. package/dist/types/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +50 -52
  121. package/src/SpacePlugin.ts +90 -7
  122. package/src/capabilities/app-graph-builder.ts +166 -7
  123. package/src/capabilities/app-graph-serializer.ts +6 -6
  124. package/src/capabilities/capabilities.ts +8 -3
  125. package/src/capabilities/identity-created.ts +2 -4
  126. package/src/capabilities/intent-resolver.ts +117 -8
  127. package/src/capabilities/react-surface.tsx +50 -13
  128. package/src/components/AwaitingObject.tsx +4 -6
  129. package/src/components/CollectionMain.tsx +2 -0
  130. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +4 -4
  131. package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -25
  132. package/src/components/MembersContainer.stories.tsx +4 -4
  133. package/src/components/MembersContainer.tsx +6 -5
  134. package/src/components/MenuFooter.tsx +2 -3
  135. package/src/components/ObjectDetailsPanel.tsx +77 -0
  136. package/src/components/PersistenceStatus.tsx +5 -6
  137. package/src/components/PopoverRenameObject.tsx +2 -2
  138. package/src/components/SpacePresence.stories.tsx +2 -2
  139. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +2 -2
  140. package/src/components/SyncStatus/SyncStatus.stories.tsx +8 -15
  141. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  142. package/src/components/SyncStatus/save-tracker.ts +3 -3
  143. package/src/components/SyncStatus/status.ts +4 -4
  144. package/src/components/ViewEditor.tsx +64 -0
  145. package/src/components/index.ts +6 -1
  146. package/src/events.ts +1 -0
  147. package/src/translations.ts +71 -7
  148. package/src/types/types.ts +56 -3
  149. package/src/util.tsx +116 -21
  150. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
  151. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  152. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  153. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
  154. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  155. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
  156. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  157. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  158. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  159. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  160. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  161. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  162. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  163. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  164. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  165. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  166. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  167. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  168. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  169. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  170. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  171. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  172. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  173. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  174. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  175. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  176. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  177. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  178. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  179. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  180. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  181. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  182. package/dist/lib/node/index.cjs +0 -278
  183. package/dist/lib/node/index.cjs.map +0 -7
  184. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  185. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  186. package/dist/lib/node/meta.json +0 -1
  187. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  188. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  189. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  190. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  191. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  192. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  193. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  194. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  195. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  196. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  197. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  198. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  199. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  200. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  201. package/dist/lib/node/types/index.cjs +0 -48
  202. package/dist/lib/node/types/index.cjs.map +0 -7
  203. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
  204. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  205. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
  206. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
  207. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  208. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  209. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  210. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  211. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  212. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  213. /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
  214. /package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-VLBRSGJ2.mjs.map} +0 -0
  215. /package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-N2J7TDRX.mjs.map} +0 -0
  216. /package/dist/lib/browser/{schema-defs-WREJNMIC.mjs.map → schema-defs-Z6FC4AHC.mjs.map} +0 -0
  217. /package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs.map → schema-tools-BNP4JTD7.mjs.map} +0 -0
  218. /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-4IMP5RYT.mjs.map} +0 -0
  219. /package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs.map → spaces-ready-TOPG6IV4.mjs.map} +0 -0
  220. /package/dist/lib/browser/{state-HRZ4VRXU.mjs.map → state-QYZAB45H.mjs.map} +0 -0
  221. /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
  222. /package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-SSLBYZEY.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-KW3TGJGY.mjs.map} +0 -0
  224. /package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs.map → schema-defs-WHJM7UZE.mjs.map} +0 -0
  225. /package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs.map → schema-tools-KWW5PTML.mjs.map} +0 -0
  226. /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-SAOBPND3.mjs.map} +0 -0
  227. /package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs.map → spaces-ready-HIUKNDZK.mjs.map} +0 -0
  228. /package/dist/lib/node-esm/{state-XQNDCN37.mjs.map → state-ZVEHQ4BJ.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-space",
3
- "version": "0.8.3",
3
+ "version": "0.8.4-main.2e9d522",
4
4
  "description": "DXOS Surface plugin for DXOS ECHO Spaces",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -33,78 +33,76 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@automerge/automerge": "3.0.0-beta.4",
36
+ "@automerge/automerge": "3.1.1",
37
37
  "@preact-signals/safe-react": "^0.9.0",
38
38
  "@preact/signals-core": "^1.9.0",
39
- "effect": "3.14.21",
39
+ "effect": "3.17.0",
40
40
  "jszip": "^3.10.1",
41
41
  "localforage": "^1.10.0",
42
42
  "react-drag-drop-files": "^2.3.8",
43
43
  "react-is": "~18.2.0",
44
44
  "react-qr-rounded": "^1.0.0",
45
- "@dxos/ai": "0.8.3",
46
- "@dxos/app-framework": "0.8.3",
47
- "@dxos/client": "0.8.3",
48
- "@dxos/artifact": "0.8.3",
49
- "@dxos/async": "0.8.3",
50
- "@dxos/context": "0.8.3",
51
- "@dxos/display-name": "0.8.3",
52
- "@dxos/echo": "0.8.3",
53
- "@dxos/echo-signals": "0.8.3",
54
- "@dxos/invariant": "0.8.3",
55
- "@dxos/echo-schema": "0.8.3",
56
- "@dxos/effect": "0.8.3",
57
- "@dxos/keys": "0.8.3",
58
- "@dxos/live-object": "0.8.3",
59
- "@dxos/log": "0.8.3",
60
- "@dxos/local-storage": "0.8.3",
61
- "@dxos/migrations": "0.8.3",
62
- "@dxos/plugin-attention": "0.8.3",
63
- "@dxos/plugin-deck": "0.8.3",
64
- "@dxos/plugin-client": "0.8.3",
65
- "@dxos/plugin-graph": "0.8.3",
66
- "@dxos/plugin-observability": "0.8.3",
67
- "@dxos/plugin-status-bar": "0.8.3",
68
- "@dxos/protocols": "0.8.3",
69
- "@dxos/react-ui-editor": "0.8.3",
70
- "@dxos/react-ui-form": "0.8.3",
71
- "@dxos/react-client": "0.8.3",
72
- "@dxos/react-ui-attention": "0.8.3",
73
- "@dxos/react-ui-list": "0.8.3",
74
- "@dxos/react-ui-pickers": "0.8.3",
75
- "@dxos/react-ui-searchlist": "0.8.3",
76
- "@dxos/react-ui-stack": "0.8.3",
77
- "@dxos/react-ui-syntax-highlighter": "0.8.3",
78
- "@dxos/react-ui-tabs": "0.8.3",
79
- "@dxos/react-ui-theme": "0.8.3",
80
- "@dxos/schema": "0.8.3",
81
- "@dxos/shell": "0.8.3",
82
- "@dxos/util": "0.8.3"
45
+ "@dxos/ai": "0.8.4-main.2e9d522",
46
+ "@dxos/async": "0.8.4-main.2e9d522",
47
+ "@dxos/app-framework": "0.8.4-main.2e9d522",
48
+ "@dxos/client": "0.8.4-main.2e9d522",
49
+ "@dxos/blueprints": "0.8.4-main.2e9d522",
50
+ "@dxos/display-name": "0.8.4-main.2e9d522",
51
+ "@dxos/context": "0.8.4-main.2e9d522",
52
+ "@dxos/echo": "0.8.4-main.2e9d522",
53
+ "@dxos/echo-schema": "0.8.4-main.2e9d522",
54
+ "@dxos/echo-signals": "0.8.4-main.2e9d522",
55
+ "@dxos/effect": "0.8.4-main.2e9d522",
56
+ "@dxos/invariant": "0.8.4-main.2e9d522",
57
+ "@dxos/live-object": "0.8.4-main.2e9d522",
58
+ "@dxos/local-storage": "0.8.4-main.2e9d522",
59
+ "@dxos/log": "0.8.4-main.2e9d522",
60
+ "@dxos/plugin-attention": "0.8.4-main.2e9d522",
61
+ "@dxos/plugin-client": "0.8.4-main.2e9d522",
62
+ "@dxos/migrations": "0.8.4-main.2e9d522",
63
+ "@dxos/plugin-deck": "0.8.4-main.2e9d522",
64
+ "@dxos/plugin-observability": "0.8.4-main.2e9d522",
65
+ "@dxos/plugin-status-bar": "0.8.4-main.2e9d522",
66
+ "@dxos/plugin-graph": "0.8.4-main.2e9d522",
67
+ "@dxos/protocols": "0.8.4-main.2e9d522",
68
+ "@dxos/react-client": "0.8.4-main.2e9d522",
69
+ "@dxos/keys": "0.8.4-main.2e9d522",
70
+ "@dxos/react-ui-attention": "0.8.4-main.2e9d522",
71
+ "@dxos/react-ui-editor": "0.8.4-main.2e9d522",
72
+ "@dxos/react-ui-form": "0.8.4-main.2e9d522",
73
+ "@dxos/react-ui-list": "0.8.4-main.2e9d522",
74
+ "@dxos/react-ui-searchlist": "0.8.4-main.2e9d522",
75
+ "@dxos/react-ui-pickers": "0.8.4-main.2e9d522",
76
+ "@dxos/react-ui-stack": "0.8.4-main.2e9d522",
77
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.2e9d522",
78
+ "@dxos/react-ui-tabs": "0.8.4-main.2e9d522",
79
+ "@dxos/react-ui-theme": "0.8.4-main.2e9d522",
80
+ "@dxos/schema": "0.8.4-main.2e9d522",
81
+ "@dxos/shell": "0.8.4-main.2e9d522",
82
+ "@dxos/util": "0.8.4-main.2e9d522"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@babel/core": "^7.18.13",
86
- "@effect-rx/rx-react": "^0.34.1",
87
- "@effect/platform": "0.80.12",
88
- "@phosphor-icons/react": "^2.1.5",
86
+ "@effect-rx/rx-react": "0.38.0",
87
+ "@effect/platform": "0.89.0",
89
88
  "@types/react": "~18.2.0",
90
89
  "@types/react-dom": "~18.2.0",
91
90
  "react": "~18.2.0",
92
91
  "react-dom": "~18.2.0",
93
92
  "vite": "5.4.7",
94
- "@dxos/random": "0.8.3",
95
- "@dxos/react-ui": "0.8.3",
96
- "@dxos/react-ui-theme": "0.8.3",
97
- "@dxos/storybook-utils": "0.8.3"
93
+ "@dxos/react-ui": "0.8.4-main.2e9d522",
94
+ "@dxos/random": "0.8.4-main.2e9d522",
95
+ "@dxos/react-ui-theme": "0.8.4-main.2e9d522",
96
+ "@dxos/storybook-utils": "0.8.4-main.2e9d522"
98
97
  },
99
98
  "peerDependencies": {
100
99
  "@effect-rx/rx-react": "^0.34.1",
101
- "@effect/platform": "0.80.12",
102
- "@phosphor-icons/react": "^2.1.5",
100
+ "@effect/platform": "^0.80.12",
103
101
  "effect": "^3.13.3",
104
102
  "react": "~18.2.0",
105
103
  "react-dom": "~18.2.0",
106
- "@dxos/react-ui-theme": "0.8.3",
107
- "@dxos/react-ui": "0.8.3"
104
+ "@dxos/react-ui": "0.8.4-main.2e9d522",
105
+ "@dxos/react-ui-theme": "0.8.4-main.2e9d522"
108
106
  },
109
107
  "publishConfig": {
110
108
  "access": "public"
@@ -16,9 +16,9 @@ import {
16
16
  } from '@dxos/app-framework';
17
17
  import { Ref, Type } from '@dxos/echo';
18
18
  import { AttentionEvents } from '@dxos/plugin-attention';
19
- import { ClientEvents } from '@dxos/plugin-client';
20
- import { DataType } from '@dxos/schema';
21
- import { osTranslations } from '@dxos/shell/react';
19
+ import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
20
+ import { createDefaultSchema, DataType, ViewTypeV1, ViewTypeV1ToV2, ViewTypeV2 } from '@dxos/schema';
21
+ import { translations as shellTranslations } from '@dxos/shell/react';
22
22
 
23
23
  import {
24
24
  AppGraphBuilder,
@@ -36,8 +36,8 @@ import {
36
36
  } from './capabilities';
37
37
  import { SpaceEvents } from './events';
38
38
  import { meta } from './meta';
39
- import translations from './translations';
40
- import { CollectionAction, defineObjectForm } from './types';
39
+ import { translations } from './translations';
40
+ import { CollectionAction, defineObjectForm, SpaceAction } from './types';
41
41
 
42
42
  export type SpacePluginOptions = {
43
43
  /**
@@ -85,7 +85,7 @@ export const SpacePlugin = ({
85
85
  defineModule({
86
86
  id: `${meta.id}/module/translations`,
87
87
  activatesOn: Events.SetupTranslations,
88
- activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),
88
+ activate: () => contributes(Capabilities.Translations, [...translations, ...shellTranslations]),
89
89
  }),
90
90
  defineModule({
91
91
  id: `${meta.id}/module/metadata`,
@@ -109,6 +109,42 @@ export const SpacePlugin = ({
109
109
  icon: 'ph--funnel-simple--regular',
110
110
  },
111
111
  }),
112
+ contributes(Capabilities.Metadata, {
113
+ id: Type.getTypename(DataType.StoredSchema),
114
+ metadata: {
115
+ icon: 'ph--database--regular',
116
+ },
117
+ }),
118
+ contributes(Capabilities.Metadata, {
119
+ id: Type.getTypename(DataType.Event),
120
+ metadata: {
121
+ icon: 'ph--calendar-dot--regular',
122
+ },
123
+ }),
124
+ contributes(Capabilities.Metadata, {
125
+ id: Type.getTypename(DataType.Organization),
126
+ metadata: {
127
+ icon: 'ph--building-office--regular',
128
+ },
129
+ }),
130
+ contributes(Capabilities.Metadata, {
131
+ id: Type.getTypename(DataType.Person),
132
+ metadata: {
133
+ icon: 'ph--user--regular',
134
+ },
135
+ }),
136
+ contributes(Capabilities.Metadata, {
137
+ id: Type.getTypename(DataType.Project),
138
+ metadata: {
139
+ icon: 'ph--check-square-offset--regular',
140
+ },
141
+ }),
142
+ contributes(Capabilities.Metadata, {
143
+ id: Type.getTypename(DataType.Task),
144
+ metadata: {
145
+ icon: 'ph--check-circle--regular',
146
+ },
147
+ }),
112
148
  ],
113
149
  }),
114
150
  defineModule({
@@ -131,14 +167,61 @@ export const SpacePlugin = ({
131
167
  getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props),
132
168
  }),
133
169
  ),
170
+ contributes(
171
+ SpaceCapabilities.ObjectForm,
172
+ defineObjectForm({
173
+ objectSchema: DataType.StoredSchema,
174
+ formSchema: SpaceAction.StoredSchemaForm,
175
+ getIntent: (props, options) =>
176
+ props.typename
177
+ ? createIntent(SpaceAction.UseStaticSchema, { space: options.space, typename: props.typename })
178
+ : createIntent(SpaceAction.AddSchema, {
179
+ space: options.space,
180
+ name: props.name,
181
+ schema: createDefaultSchema(),
182
+ }),
183
+ }),
184
+ ),
134
185
  ],
135
186
  }),
136
187
  defineModule({
137
- id: `${meta.id}/module/schema`,
188
+ id: `${meta.id}/module/schema-defs`,
138
189
  activatesOn: ClientEvents.ClientReady,
139
190
  activatesBefore: [ClientEvents.SetupSchema],
140
191
  activate: SchemaDefs,
141
192
  }),
193
+ defineModule({
194
+ id: `${meta.id}/module/schema`,
195
+ activatesOn: ClientEvents.SetupSchema,
196
+ activate: () =>
197
+ contributes(ClientCapabilities.Schema, [
198
+ DataType.View,
199
+ ViewTypeV1,
200
+ ViewTypeV2,
201
+ DataType.Event,
202
+ DataType.Organization,
203
+ DataType.Person,
204
+ DataType.Project,
205
+ DataType.Task,
206
+ ]),
207
+ }),
208
+ defineModule({
209
+ id: `${meta.id}/module/migration`,
210
+ activatesOn: ClientEvents.SetupMigration,
211
+ activate: () => contributes(ClientCapabilities.Migration, [ViewTypeV1ToV2]),
212
+ }),
213
+ defineModule({
214
+ id: `${meta.id}/module/whitelist-schema`,
215
+ activatesOn: ClientEvents.SetupSchema,
216
+ activate: () =>
217
+ contributes(ClientCapabilities.SchemaWhiteList, [
218
+ DataType.Event,
219
+ DataType.Organization,
220
+ DataType.Person,
221
+ DataType.Project,
222
+ DataType.Task,
223
+ ]),
224
+ }),
142
225
  defineModule({
143
226
  id: `${meta.id}/module/react-root`,
144
227
  activatesOn: Events.Startup,
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Rx } from '@effect-rx/rx-react';
6
- import { Array, Option, pipe } from 'effect';
6
+ import { Array, Option, pipe, Schema } from 'effect';
7
7
 
8
8
  import { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';
9
9
  import { getSpace, SpaceState, type Space, isSpace, type QueryResult } from '@dxos/client/echo';
@@ -24,6 +24,8 @@ import {
24
24
  constructSpaceActions,
25
25
  constructSpaceNode,
26
26
  createObjectNode,
27
+ createStaticSchemaActions,
28
+ createStaticSchemaNode,
27
29
  rxFromQuery,
28
30
  SHARED,
29
31
  SPACES,
@@ -322,8 +324,7 @@ export default (context: PluginContext) => {
322
324
 
323
325
  const collection = get(
324
326
  rxFromSignal(
325
- () =>
326
- space.properties[Type.getTypename(DataType.Collection)]?.target as DataType.Collection | undefined,
327
+ () => space.properties[DataType.Collection.typename]?.target as DataType.Collection | undefined,
327
328
  ),
328
329
  );
329
330
  if (!collection) {
@@ -479,15 +480,146 @@ export default (context: PluginContext) => {
479
480
  },
480
481
  }),
481
482
 
483
+ // Static schema records.
484
+ createExtension({
485
+ id: `${SPACE_PLUGIN}/static-schemas`,
486
+ connector: (node) => {
487
+ const client = context.getCapability(ClientCapabilities.Client);
488
+ return Rx.make((get) =>
489
+ pipe(
490
+ get(node),
491
+ Option.flatMap((node) =>
492
+ Obj.instanceOf(DataType.QueryCollection, node.data) &&
493
+ node.data.query.typename === DataType.StoredSchema.typename
494
+ ? Option.some(node.data)
495
+ : Option.none(),
496
+ ),
497
+ Option.flatMap((collection) => {
498
+ const space = getSpace(collection);
499
+ return space?.properties.staticRecords ? Option.some(space) : Option.none();
500
+ }),
501
+ Option.map((space) => {
502
+ return get(rxFromSignal(() => (space.properties.staticRecords ?? []) as string[]))
503
+ .map((typename) =>
504
+ client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),
505
+ )
506
+ .filter(isNonNullable)
507
+ .map((schema) => createStaticSchemaNode({ schema, space }));
508
+ }),
509
+ Option.getOrElse(() => []),
510
+ ),
511
+ );
512
+ },
513
+ }),
514
+
515
+ // Create static schema actions.
516
+ createExtension({
517
+ id: `${SPACE_PLUGIN}/static-schema-actions`,
518
+ actions: (node) => {
519
+ let query: QueryResult<DataType.View> | undefined;
520
+ return Rx.make((get) =>
521
+ pipe(
522
+ get(node),
523
+ Option.flatMap((node) => {
524
+ const space = isSpace(node.properties.space) ? node.properties.space : undefined;
525
+ return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();
526
+ }),
527
+ Option.map(({ space, schema }) => {
528
+ if (!query) {
529
+ // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).
530
+ query = space.db.query(Filter.type(DataType.View));
531
+ }
532
+
533
+ const views = get(rxFromQuery(query));
534
+ const filteredViews = get(
535
+ rxFromSignal(() =>
536
+ // TODO(wittjosiah): Remove cast.
537
+ views.filter((view) => view.query.typename === Type.getTypename(schema as Type.Obj.Any)),
538
+ ),
539
+ );
540
+ const deletable = filteredViews.length === 0;
541
+
542
+ // TODO(wittjosiah): Remove cast.
543
+ return createStaticSchemaActions({ schema: schema as Type.Obj.Any, space, deletable });
544
+ }),
545
+ Option.getOrElse(() => []),
546
+ ),
547
+ );
548
+ },
549
+ }),
550
+
551
+ // Create nodes for schema views.
552
+ createExtension({
553
+ id: `${SPACE_PLUGIN}/schema-views`,
554
+ connector: (node) => {
555
+ let query: QueryResult<DataType.View> | undefined;
556
+ return Rx.make((get) =>
557
+ pipe(
558
+ get(node),
559
+ Option.flatMap((node) => {
560
+ const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);
561
+ return space && (Obj.instanceOf(DataType.StoredSchema, node.data) || Schema.isSchema(node.data))
562
+ ? Option.some({ space, schema: node.data })
563
+ : Option.none();
564
+ }),
565
+ Option.map(({ space, schema }) => {
566
+ if (!query) {
567
+ // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).
568
+ query = space.db.query(Filter.type(DataType.View));
569
+ }
570
+
571
+ // TODO(wittjosiah): Remove cast.
572
+ const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;
573
+ return get(rxFromQuery(query))
574
+ .filter((view) => view.query.typename === typename)
575
+ .map((view) =>
576
+ get(
577
+ rxFromSignal(() =>
578
+ createObjectNode({
579
+ object: view,
580
+ space,
581
+ resolve,
582
+ droppable: false,
583
+ }),
584
+ ),
585
+ ),
586
+ )
587
+ .filter(isNonNullable);
588
+ }),
589
+ Option.getOrElse(() => []),
590
+ ),
591
+ );
592
+ },
593
+ }),
594
+
482
595
  // Create collection actions and action groups.
483
596
  createExtension({
484
597
  id: `${SPACE_PLUGIN}/object-actions`,
485
- actions: (node) =>
486
- Rx.make((get) =>
598
+ actions: (node) => {
599
+ let query: QueryResult<DataType.View> | undefined;
600
+ return Rx.make((get) =>
487
601
  pipe(
488
602
  get(node),
489
- Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node.data) : Option.none())),
490
- Option.flatMap((object) => {
603
+ Option.flatMap((node) => {
604
+ const space = getSpace(node.data);
605
+ return space && Obj.isObject(node.data) ? Option.some({ space, object: node.data }) : Option.none();
606
+ }),
607
+ Option.flatMap(({ space, object }) => {
608
+ const isSchema = Obj.instanceOf(DataType.StoredSchema, object);
609
+ if (!query && isSchema) {
610
+ // TODO(wittjosiah): Support filtering by nested properties (e.g. `query.typename`).
611
+ query = space.db.query(Filter.type(DataType.View));
612
+ }
613
+
614
+ let deletable = !isSchema;
615
+ if (isSchema && query) {
616
+ const views = get(rxFromQuery(query));
617
+ const filteredViews = get(
618
+ rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)),
619
+ );
620
+ deletable = filteredViews.length === 0;
621
+ }
622
+
491
623
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
492
624
  const [appGraph] = get(context.capabilities(Capabilities.AppGraph));
493
625
  const [state] = get(context.capabilities(SpaceCapabilities.State));
@@ -501,6 +633,7 @@ export default (context: PluginContext) => {
501
633
  graph: appGraph.graph,
502
634
  dispatch: dispatcher.dispatchPromise,
503
635
  objectForms,
636
+ deletable,
504
637
  navigable: get(rxFromSignal(() => state.navigableCollections)),
505
638
  });
506
639
  }
@@ -508,6 +641,32 @@ export default (context: PluginContext) => {
508
641
  Option.map((params) => constructObjectActions(params)),
509
642
  Option.getOrElse(() => []),
510
643
  ),
644
+ );
645
+ },
646
+ }),
647
+
648
+ // View selected objects.
649
+ createExtension({
650
+ id: `${SPACE_PLUGIN}/selected-objects`,
651
+ connector: (node) =>
652
+ Rx.make((get) =>
653
+ pipe(
654
+ get(node),
655
+ Option.flatMap((node) => (Obj.instanceOf(DataType.View, node.data) ? Option.some(node) : Option.none())),
656
+ Option.map((node) => [
657
+ {
658
+ id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),
659
+ type: PLANK_COMPANION_TYPE,
660
+ data: 'selected-objects',
661
+ properties: {
662
+ label: ['companion selected objects label', { ns: SPACE_PLUGIN }],
663
+ icon: 'ph--tree-view--regular',
664
+ disposition: 'hidden',
665
+ },
666
+ },
667
+ ]),
668
+ Option.getOrElse(() => []),
669
+ ),
511
670
  ),
512
671
  }),
513
672
 
@@ -2,13 +2,13 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';
5
+ import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
6
6
  import { isSpace } from '@dxos/client/echo';
7
7
  import { Obj, Type } from '@dxos/echo';
8
8
  import { DataType } from '@dxos/schema';
9
9
 
10
10
  import { SPACE_PLUGIN } from '../meta';
11
- import translations from '../translations';
11
+ import { translations } from '../translations';
12
12
  import { SPACE_TYPE, SpaceAction } from '../types';
13
13
  import { SPACES } from '../util';
14
14
 
@@ -23,8 +23,8 @@ export default (context: PluginContext) =>
23
23
  inputType: SPACES,
24
24
  outputType: DIRECTORY_TYPE,
25
25
  serialize: (node) => ({
26
- name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],
27
- data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],
26
+ name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
27
+ data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
28
28
  type: DIRECTORY_TYPE,
29
29
  }),
30
30
  deserialize: () => {
@@ -49,8 +49,8 @@ export default (context: PluginContext) =>
49
49
  inputType: COLLECTION_TYPE,
50
50
  outputType: DIRECTORY_TYPE,
51
51
  serialize: (node) => ({
52
- name: node.data.name ?? translations[0]['en-US'][COLLECTION_TYPE]['object name placeholder'],
53
- data: node.data.name ?? translations[0]['en-US'][COLLECTION_TYPE]['object name placeholder'],
52
+ name: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
53
+ data: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
54
54
  type: DIRECTORY_TYPE,
55
55
  }),
56
56
  deserialize: async (data, ancestors) => {
@@ -2,10 +2,12 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { defineCapability, type Label } from '@dxos/app-framework';
5
+ import { type Schema } from 'effect';
6
+
7
+ import { type AnyIntentChain, defineCapability, type Label } from '@dxos/app-framework';
6
8
  import { type Space } from '@dxos/react-client/echo';
7
9
  import { type DataType } from '@dxos/schema';
8
- import { type Position, type DeepReadonly, type MaybePromise } from '@dxos/util';
10
+ import { type Position, type DeepReadonly } from '@dxos/util';
9
11
 
10
12
  import { SPACE_PLUGIN } from '../meta';
11
13
  import { type ObjectForm, type PluginState } from '../types';
@@ -17,8 +19,11 @@ export namespace SpaceCapabilities {
17
19
  export type SettingsSection = { id: string; label: Label; position?: Position };
18
20
  export const SettingsSection = defineCapability<SettingsSection>(`${SPACE_PLUGIN}/capability/settings-section`);
19
21
 
20
- export type OnSpaceCreated = (params: { space: Space; rootCollection: DataType.Collection }) => MaybePromise<void>;
22
+ export type OnSpaceCreated = (params: { space: Space; rootCollection: DataType.Collection }) => AnyIntentChain;
21
23
  export const OnSpaceCreated = defineCapability<OnSpaceCreated>(`${SPACE_PLUGIN}/capability/on-space-created`);
22
24
 
25
+ export type OnSchemaAdded = (params: { space: Space; schema: Schema.Schema.AnyNoContext }) => AnyIntentChain;
26
+ export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${SPACE_PLUGIN}/capability/on-schema-added`);
27
+
23
28
  export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);
24
29
  }
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';
6
- import { Obj, Ref, Type } from '@dxos/echo';
6
+ import { Obj, Ref } from '@dxos/echo';
7
7
  import { Migrations } from '@dxos/migrations';
8
8
  import { ClientCapabilities } from '@dxos/plugin-client';
9
9
  import { DataType } from '@dxos/schema';
@@ -16,9 +16,7 @@ export default async (context: PluginContext) => {
16
16
  await defaultSpace.waitUntilReady();
17
17
 
18
18
  // Create root collection structure.
19
- defaultSpace.properties[Type.getTypename(DataType.Collection)] = Ref.make(
20
- Obj.make(DataType.Collection, { objects: [] }),
21
- );
19
+ defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, { objects: [] }));
22
20
  if (Migrations.versionProperty) {
23
21
  defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;
24
22
  }