@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,10 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- translations_default
4
- } from "./chunk-JBQKU4K5.mjs";
5
2
  import {
6
3
  SpaceEvents
7
- } from "./chunk-3CP67AYY.mjs";
4
+ } from "./chunk-FJZNSJC4.mjs";
8
5
  import {
9
6
  AppGraphBuilder,
10
7
  AppGraphSerializer,
@@ -23,6 +20,7 @@ import {
23
20
  JoinDialog,
24
21
  MembersContainer,
25
22
  MenuFooter,
23
+ ObjectDetailsPanel,
26
24
  ObjectSettingsContainer,
27
25
  POPOVER_RENAME_OBJECT,
28
26
  POPOVER_RENAME_SPACE,
@@ -31,9 +29,9 @@ import {
31
29
  PopoverRenameSpace,
32
30
  ReactRoot,
33
31
  ReactSurface,
32
+ RecordMain,
34
33
  SchemaContainer,
35
34
  SchemaDefs,
36
- SchemaTools,
37
35
  SmallPresence,
38
36
  SmallPresenceLive,
39
37
  SpacePluginSettings,
@@ -44,17 +42,21 @@ import {
44
42
  SpacesReady,
45
43
  SyncStatus,
46
44
  SyncStatusIndicator,
45
+ ViewEditor,
47
46
  useQuerySpaceSchemas
48
- } from "./chunk-LA6AVVH6.mjs";
47
+ } from "./chunk-QUPBTNWJ.mjs";
49
48
  import {
50
49
  getActiveSpace,
51
50
  useActiveSpace,
52
51
  useInputSurfaceLookup,
53
52
  usePath
54
- } from "./chunk-GH2FGJXH.mjs";
53
+ } from "./chunk-Q6AAQLQG.mjs";
55
54
  import {
56
55
  SpaceCapabilities
57
- } from "./chunk-BSLREHIX.mjs";
56
+ } from "./chunk-HC677WUJ.mjs";
57
+ import {
58
+ translations
59
+ } from "./chunk-LGNPMOXU.mjs";
58
60
  import {
59
61
  COMPOSER_SPACE_LOCK,
60
62
  SHARED,
@@ -64,27 +66,30 @@ import {
64
66
  constructSpaceActions,
65
67
  constructSpaceNode,
66
68
  createObjectNode,
69
+ createStaticSchemaActions,
70
+ createStaticSchemaNode,
67
71
  getNestedObjects,
68
72
  getSpaceDisplayName,
69
73
  rxFromQuery
70
- } from "./chunk-HO7AIKQS.mjs";
74
+ } from "./chunk-TEUN2E4F.mjs";
71
75
  import {
72
76
  CollectionAction,
77
+ SpaceAction,
73
78
  defineObjectForm
74
- } from "./chunk-D4QMPPS7.mjs";
79
+ } from "./chunk-RXDT5LA5.mjs";
75
80
  import {
76
81
  SPACE_PLUGIN,
77
82
  meta
78
- } from "./chunk-MSWEFAPD.mjs";
83
+ } from "./chunk-HWNG4MEU.mjs";
79
84
 
80
- // packages/plugins/plugin-space/src/SpacePlugin.ts
85
+ // src/SpacePlugin.ts
81
86
  import { Schema } from "effect";
82
87
  import { Capabilities, Events, allOf, contributes, createIntent, defineModule, definePlugin, oneOf } from "@dxos/app-framework";
83
88
  import { Ref, Type } from "@dxos/echo";
84
89
  import { AttentionEvents } from "@dxos/plugin-attention";
85
- import { ClientEvents } from "@dxos/plugin-client";
86
- import { DataType } from "@dxos/schema";
87
- import { osTranslations } from "@dxos/shell/react";
90
+ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
91
+ import { DataType, createDefaultSchema, typenameFromQuery } from "@dxos/schema";
92
+ import { translations as shellTranslations } from "@dxos/shell/react";
88
93
  var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = false } = {}) => {
89
94
  const createInvitationUrl = (invitationCode) => {
90
95
  const baseUrl = new URL(invitationUrl);
@@ -112,8 +117,8 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
112
117
  id: `${meta.id}/module/translations`,
113
118
  activatesOn: Events.SetupTranslations,
114
119
  activate: () => contributes(Capabilities.Translations, [
115
- ...translations_default,
116
- osTranslations
120
+ ...translations,
121
+ ...shellTranslations
117
122
  ])
118
123
  }),
119
124
  defineModule({
@@ -134,13 +139,43 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
134
139
  label: (object) => [
135
140
  "typename label",
136
141
  {
137
- ns: object.query.typename,
142
+ ns: typenameFromQuery(object.query),
138
143
  count: 2,
139
144
  defaultValue: "New smart collection"
140
145
  }
141
146
  ],
142
147
  icon: "ph--funnel-simple--regular"
143
148
  }
149
+ }),
150
+ contributes(Capabilities.Metadata, {
151
+ id: Type.getTypename(DataType.StoredSchema),
152
+ metadata: {
153
+ icon: "ph--database--regular"
154
+ }
155
+ }),
156
+ contributes(Capabilities.Metadata, {
157
+ id: Type.getTypename(DataType.Event),
158
+ metadata: {
159
+ icon: "ph--calendar-dot--regular"
160
+ }
161
+ }),
162
+ contributes(Capabilities.Metadata, {
163
+ id: Type.getTypename(DataType.Organization),
164
+ metadata: {
165
+ icon: "ph--building-office--regular"
166
+ }
167
+ }),
168
+ contributes(Capabilities.Metadata, {
169
+ id: Type.getTypename(DataType.Person),
170
+ metadata: {
171
+ icon: "ph--user--regular"
172
+ }
173
+ }),
174
+ contributes(Capabilities.Metadata, {
175
+ id: Type.getTypename(DataType.Task),
176
+ metadata: {
177
+ icon: "ph--check-circle--regular"
178
+ }
144
179
  })
145
180
  ]
146
181
  }),
@@ -156,20 +191,56 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
156
191
  getIntent: (props) => createIntent(CollectionAction.Create, props)
157
192
  })),
158
193
  contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
194
+ // TODO(wittjosiah): Remove cast.
159
195
  objectSchema: DataType.QueryCollection,
160
196
  formSchema: CollectionAction.QueryCollectionForm,
161
197
  getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props)
198
+ })),
199
+ contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
200
+ objectSchema: DataType.StoredSchema,
201
+ formSchema: SpaceAction.StoredSchemaForm,
202
+ getIntent: (props, options) => props.typename ? createIntent(SpaceAction.UseStaticSchema, {
203
+ space: options.space,
204
+ typename: props.typename
205
+ }) : createIntent(SpaceAction.AddSchema, {
206
+ space: options.space,
207
+ name: props.name,
208
+ schema: createDefaultSchema()
209
+ })
162
210
  }))
163
211
  ]
164
212
  }),
165
213
  defineModule({
166
- id: `${meta.id}/module/schema`,
214
+ id: `${meta.id}/module/schema-defs`,
167
215
  activatesOn: ClientEvents.ClientReady,
168
216
  activatesBefore: [
169
217
  ClientEvents.SetupSchema
170
218
  ],
171
219
  activate: SchemaDefs
172
220
  }),
221
+ defineModule({
222
+ id: `${meta.id}/module/schema`,
223
+ activatesOn: ClientEvents.SetupSchema,
224
+ activate: () => contributes(ClientCapabilities.Schema, [
225
+ DataType.View,
226
+ DataType.Event,
227
+ DataType.Organization,
228
+ DataType.Person,
229
+ DataType.Project,
230
+ DataType.Task
231
+ ])
232
+ }),
233
+ defineModule({
234
+ id: `${meta.id}/module/whitelist-schema`,
235
+ activatesOn: ClientEvents.SetupSchema,
236
+ activate: () => contributes(ClientCapabilities.SchemaWhiteList, [
237
+ DataType.Event,
238
+ DataType.Organization,
239
+ DataType.Person,
240
+ DataType.Project,
241
+ DataType.Task
242
+ ])
243
+ }),
173
244
  defineModule({
174
245
  id: `${meta.id}/module/react-root`,
175
246
  activatesOn: Events.Startup,
@@ -218,11 +289,6 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
218
289
  id: `${meta.id}/module/spaces-ready`,
219
290
  activatesOn: allOf(Events.DispatcherReady, Events.LayoutReady, Events.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
220
291
  activate: SpacesReady
221
- }),
222
- defineModule({
223
- id: `${meta.id}/module/tools`,
224
- activatesOn: Events.SetupArtifactDefinition,
225
- activate: SchemaTools
226
292
  })
227
293
  ]);
228
294
  };
@@ -241,12 +307,14 @@ export {
241
307
  JoinDialog,
242
308
  MembersContainer,
243
309
  MenuFooter,
310
+ ObjectDetailsPanel,
244
311
  ObjectSettingsContainer,
245
312
  POPOVER_RENAME_OBJECT,
246
313
  POPOVER_RENAME_SPACE,
247
314
  PersistenceStatus,
248
315
  PopoverRenameObject,
249
316
  PopoverRenameSpace,
317
+ RecordMain,
250
318
  SHARED,
251
319
  SPACES,
252
320
  SPACE_PLUGIN,
@@ -261,11 +329,14 @@ export {
261
329
  SpaceSettingsContainer,
262
330
  SyncStatus,
263
331
  SyncStatusIndicator,
332
+ ViewEditor,
264
333
  cloneObject,
265
334
  constructObjectActions,
266
335
  constructSpaceActions,
267
336
  constructSpaceNode,
268
337
  createObjectNode,
338
+ createStaticSchemaActions,
339
+ createStaticSchemaNode,
269
340
  getActiveSpace,
270
341
  getNestedObjects,
271
342
  getSpaceDisplayName,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/SpacePlugin.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport {\n Capabilities,\n Events,\n allOf,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n oneOf,\n} from '@dxos/app-framework';\nimport { Ref, Type } from '@dxos/echo';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SchemaDefs,\n SchemaTools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Collection),\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: DataType.Collection) => await Ref.Array.loadAll(collection.objects),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.QueryCollection),\n metadata: {\n label: (object: DataType.QueryCollection) => [\n 'typename label',\n { ns: object.query.typename, count: 2, defaultValue: 'New smart collection' },\n ],\n icon: 'ph--funnel-simple--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.Collection,\n formSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.QueryCollection,\n formSchema: CollectionAction.QueryCollectionForm,\n getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: SchemaTools,\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Capabilities", "Events", "allOf", "contributes", "createIntent", "defineModule", "definePlugin", "oneOf", "Ref", "Type", "AttentionEvents", "ClientEvents", "DataType", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "Type", "getTypename", "DataType", "Collection", "metadata", "icon", "loadReferences", "collection", "Ref", "Array", "loadAll", "objects", "QueryCollection", "label", "object", "ns", "query", "typename", "count", "defaultValue", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "Schema", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "QueryCollectionForm", "CreateQueryCollection", "ClientReady", "activatesBefore", "SchemaDefs", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "SchemaTools"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport {\n Capabilities,\n Events,\n allOf,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n oneOf,\n} from '@dxos/app-framework';\nimport { Ref, Type } from '@dxos/echo';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { DataType, createDefaultSchema, typenameFromQuery } from '@dxos/schema';\nimport { translations as shellTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n SchemaDefs,\n SpaceCapabilities,\n SpaceSettings,\n SpaceState,\n SpacesReady,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { CollectionAction, SpaceAction, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = false,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...shellTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Collection),\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: DataType.Collection) => await Ref.Array.loadAll(collection.objects),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.QueryCollection),\n metadata: {\n label: (object: DataType.QueryCollection) => [\n 'typename label',\n { ns: typenameFromQuery(object.query), count: 2, defaultValue: 'New smart collection' },\n ],\n icon: 'ph--funnel-simple--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.StoredSchema),\n metadata: {\n icon: 'ph--database--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Event),\n metadata: {\n icon: 'ph--calendar-dot--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Organization),\n metadata: {\n icon: 'ph--building-office--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Person),\n metadata: {\n icon: 'ph--user--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(DataType.Task),\n metadata: {\n icon: 'ph--check-circle--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.Collection,\n formSchema: Schema.Struct({ name: Schema.optional(Schema.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n // TODO(wittjosiah): Remove cast.\n objectSchema: DataType.QueryCollection as any,\n formSchema: CollectionAction.QueryCollectionForm,\n getIntent: (props) => createIntent(CollectionAction.CreateQueryCollection, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DataType.StoredSchema,\n formSchema: SpaceAction.StoredSchemaForm,\n getIntent: (props, options) =>\n props.typename\n ? createIntent(SpaceAction.UseStaticSchema, { space: options.space, typename: props.typename })\n : createIntent(SpaceAction.AddSchema, {\n space: options.space,\n name: props.name,\n schema: createDefaultSchema(),\n }),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema-defs`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [\n DataType.View,\n DataType.Event,\n DataType.Organization,\n DataType.Person,\n DataType.Project,\n DataType.Task,\n ]),\n }),\n defineModule({\n id: `${meta.id}/module/whitelist-schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.SchemaWhiteList, [\n DataType.Event,\n DataType.Organization,\n DataType.Person,\n DataType.Project,\n DataType.Task,\n ]),\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, createInvitationUrl, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Capabilities", "Events", "allOf", "contributes", "createIntent", "defineModule", "definePlugin", "oneOf", "Ref", "Type", "AttentionEvents", "ClientCapabilities", "ClientEvents", "DataType", "createDefaultSchema", "typenameFromQuery", "translations", "shellTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "shellTranslations", "SetupMetadata", "Metadata", "Type", "getTypename", "DataType", "Collection", "metadata", "icon", "loadReferences", "collection", "Ref", "Array", "loadAll", "objects", "QueryCollection", "label", "object", "ns", "typenameFromQuery", "query", "count", "defaultValue", "StoredSchema", "Event", "Organization", "Person", "Task", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "Schema", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "QueryCollectionForm", "CreateQueryCollection", "SpaceAction", "StoredSchemaForm", "options", "typename", "UseStaticSchema", "space", "AddSchema", "schema", "createDefaultSchema", "ClientReady", "activatesBefore", "SchemaDefs", "ClientCapabilities", "View", "Project", "SchemaWhiteList", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady"]
7
7
  }
@@ -1,47 +1,47 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceEvents
4
- } from "./chunk-3CP67AYY.mjs";
4
+ } from "./chunk-FJZNSJC4.mjs";
5
5
  import {
6
6
  CREATE_OBJECT_DIALOG,
7
7
  CREATE_SPACE_DIALOG,
8
8
  JOIN_DIALOG,
9
9
  POPOVER_RENAME_OBJECT,
10
10
  POPOVER_RENAME_SPACE
11
- } from "./chunk-LA6AVVH6.mjs";
12
- import "./chunk-GH2FGJXH.mjs";
11
+ } from "./chunk-QUPBTNWJ.mjs";
12
+ import "./chunk-Q6AAQLQG.mjs";
13
13
  import {
14
14
  SpaceCapabilities
15
- } from "./chunk-BSLREHIX.mjs";
15
+ } from "./chunk-HC677WUJ.mjs";
16
16
  import {
17
17
  COMPOSER_SPACE_LOCK,
18
18
  cloneObject,
19
19
  getNestedObjects
20
- } from "./chunk-HO7AIKQS.mjs";
20
+ } from "./chunk-TEUN2E4F.mjs";
21
21
  import {
22
22
  CollectionAction,
23
23
  SpaceAction
24
- } from "./chunk-D4QMPPS7.mjs";
24
+ } from "./chunk-RXDT5LA5.mjs";
25
25
  import {
26
26
  SPACE_PLUGIN
27
- } from "./chunk-MSWEFAPD.mjs";
27
+ } from "./chunk-HWNG4MEU.mjs";
28
28
 
29
- // packages/plugins/plugin-space/src/capabilities/intent-resolver.ts
29
+ // src/capabilities/intent-resolver.ts
30
30
  import { Effect } from "effect";
31
31
  import { Capabilities, LayoutAction, contributes, createIntent, createResolver } from "@dxos/app-framework";
32
- import { Obj, Ref, Relation, Type } from "@dxos/echo";
32
+ import { Filter, Obj, Query, Ref, Relation, Type } from "@dxos/echo";
33
33
  import { invariant } from "@dxos/invariant";
34
34
  import { Migrations } from "@dxos/migrations";
35
35
  import { ClientCapabilities } from "@dxos/plugin-client";
36
36
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
37
37
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
38
- import { isSpace, getSpace, SpaceState, fullyQualifiedId } from "@dxos/react-client/echo";
38
+ import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
39
39
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
40
40
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
41
- import { DataType } from "@dxos/schema";
42
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/intent-resolver.ts";
41
+ import { DataType, ProjectionModel, typenameFromQuery } from "@dxos/schema";
42
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/intent-resolver.ts";
43
43
  var SPACE_MAX_OBJECTS = 500;
44
- var intent_resolver_default = ({ context, observability, createInvitationUrl }) => {
44
+ var intent_resolver_default = (({ context, observability, createInvitationUrl }) => {
45
45
  const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
46
46
  return contributes(Capabilities.IntentResolver, [
47
47
  createResolver({
@@ -74,16 +74,20 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
74
74
  const collection = Obj.make(DataType.Collection, {
75
75
  objects: []
76
76
  });
77
- space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection);
77
+ space.properties[DataType.Collection.typename] = Ref.make(collection);
78
78
  if (Migrations.versionProperty) {
79
79
  space.properties[Migrations.versionProperty] = Migrations.targetVersion;
80
80
  }
81
+ const records = Obj.make(DataType.QueryCollection, {
82
+ query: Query.select(Filter.typename(DataType.StoredSchema.typename)).ast
83
+ });
84
+ collection.objects.push(Ref.make(records));
81
85
  await context.activatePromise(SpaceEvents.SpaceCreated);
82
86
  const onSpaceCreatedCallbacks = context.getCapabilities(SpaceCapabilities.OnSpaceCreated);
83
- await Promise.all(onSpaceCreatedCallbacks.map((onSpaceCreated) => onSpaceCreated({
87
+ const spaceCreatedIntents = onSpaceCreatedCallbacks.map((onSpaceCreated) => onSpaceCreated({
84
88
  space,
85
89
  rootCollection: collection
86
- })));
90
+ }));
87
91
  return {
88
92
  data: {
89
93
  id: space.id,
@@ -93,6 +97,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
93
97
  space
94
98
  },
95
99
  intents: [
100
+ ...spaceCreatedIntents,
96
101
  ...observability ? [
97
102
  createIntent(ObservabilityAction.SendEvent, {
98
103
  name: "space.create",
@@ -297,9 +302,158 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
297
302
  };
298
303
  }
299
304
  }),
305
+ createResolver({
306
+ intent: SpaceAction.UseStaticSchema,
307
+ resolve: async ({ space, typename }) => {
308
+ const client = context.getCapability(ClientCapabilities.Client);
309
+ const schema = client.graph.schemaRegistry.schemas.find((schema2) => Type.getTypename(schema2) === typename);
310
+ invariant(schema, `Schema not found: ${typename}`, {
311
+ F: __dxlog_file,
312
+ L: 329,
313
+ S: void 0,
314
+ A: [
315
+ "schema",
316
+ "`Schema not found: ${typename}`"
317
+ ]
318
+ });
319
+ if (!space.properties.staticRecords) {
320
+ space.properties.staticRecords = [];
321
+ }
322
+ if (!space.properties.staticRecords.includes(typename)) {
323
+ space.properties.staticRecords.push(typename);
324
+ }
325
+ await context.activatePromise(SpaceEvents.SchemaAdded);
326
+ const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);
327
+ const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded2) => onSchemaAdded2({
328
+ space,
329
+ schema
330
+ }));
331
+ return {
332
+ data: {},
333
+ intents: [
334
+ ...schemaAddedIntents,
335
+ ...observability ? [
336
+ createIntent(ObservabilityAction.SendEvent, {
337
+ name: "space.schema.use",
338
+ properties: {
339
+ spaceId: space.id,
340
+ typename: Type.getTypename(schema)
341
+ }
342
+ })
343
+ ] : []
344
+ ]
345
+ };
346
+ }
347
+ }),
348
+ createResolver({
349
+ intent: SpaceAction.AddSchema,
350
+ resolve: async ({ space, name, typename, version, schema: schemaInput }) => {
351
+ const [schema] = await space.db.schemaRegistry.register([
352
+ schemaInput
353
+ ]);
354
+ if (name) {
355
+ schema.storedSchema.name = name;
356
+ }
357
+ if (typename) {
358
+ schema.storedSchema.typename = typename;
359
+ }
360
+ if (version) {
361
+ schema.storedSchema.version = version;
362
+ }
363
+ await context.activatePromise(SpaceEvents.SchemaAdded);
364
+ const onSchemaAdded = context.getCapabilities(SpaceCapabilities.OnSchemaAdded);
365
+ const schemaAddedIntents = onSchemaAdded.map((onSchemaAdded2) => onSchemaAdded2({
366
+ space,
367
+ schema
368
+ }));
369
+ return {
370
+ data: {
371
+ id: schema.id,
372
+ object: schema.storedSchema,
373
+ schema
374
+ },
375
+ intents: [
376
+ ...schemaAddedIntents,
377
+ ...observability ? [
378
+ createIntent(ObservabilityAction.SendEvent, {
379
+ name: "space.schema.add",
380
+ properties: {
381
+ spaceId: space.id,
382
+ objectId: schema.id,
383
+ typename: schema.typename
384
+ }
385
+ })
386
+ ] : []
387
+ ]
388
+ };
389
+ }
390
+ }),
391
+ createResolver({
392
+ intent: SpaceAction.DeleteField,
393
+ resolve: async ({ view, fieldId, deletionData }, undo) => {
394
+ const space = getSpace(view);
395
+ invariant(space, void 0, {
396
+ F: __dxlog_file,
397
+ L: 408,
398
+ S: void 0,
399
+ A: [
400
+ "space",
401
+ ""
402
+ ]
403
+ });
404
+ const typename = typenameFromQuery(view.query);
405
+ invariant(typename, void 0, {
406
+ F: __dxlog_file,
407
+ L: 410,
408
+ S: void 0,
409
+ A: [
410
+ "typename",
411
+ ""
412
+ ]
413
+ });
414
+ const schema = await space.db.schemaRegistry.query({
415
+ typename
416
+ }).firstOrUndefined();
417
+ invariant(schema, void 0, {
418
+ F: __dxlog_file,
419
+ L: 412,
420
+ S: void 0,
421
+ A: [
422
+ "schema",
423
+ ""
424
+ ]
425
+ });
426
+ const projection = new ProjectionModel(schema.jsonSchema, view.projection);
427
+ if (!undo) {
428
+ const { deleted, index } = projection.deleteFieldProjection(fieldId);
429
+ return {
430
+ undoable: {
431
+ message: [
432
+ "field deleted label",
433
+ {
434
+ ns: SPACE_PLUGIN
435
+ }
436
+ ],
437
+ data: {
438
+ deletionData: {
439
+ ...deleted,
440
+ index
441
+ }
442
+ }
443
+ }
444
+ };
445
+ } else if (undo && deletionData) {
446
+ const { field, props, index } = deletionData;
447
+ projection.setFieldProjection({
448
+ field,
449
+ props
450
+ }, index);
451
+ }
452
+ }
453
+ }),
300
454
  createResolver({
301
455
  intent: SpaceAction.OpenCreateObject,
302
- resolve: ({ target, typename, navigable = true }) => {
456
+ resolve: ({ target, views, typename, initialFormValues, navigable = true, onCreateObject }) => {
303
457
  const state = context.getCapability(SpaceCapabilities.State);
304
458
  return {
305
459
  intents: [
@@ -310,7 +464,10 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
310
464
  blockAlign: "start",
311
465
  props: {
312
466
  target,
467
+ views,
313
468
  typename,
469
+ initialFormValues,
470
+ onCreateObject,
314
471
  shouldNavigate: navigable ? (object) => {
315
472
  const isCollection = Obj.instanceOf(DataType.Collection, object);
316
473
  const isQueryCollection = Obj.instanceOf(DataType.QueryCollection, object);
@@ -329,7 +486,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
329
486
  const space = isSpace(target) ? target : getSpace(target);
330
487
  invariant(space, "Space not found.", {
331
488
  F: __dxlog_file,
332
- L: 345,
489
+ L: 464,
333
490
  S: void 0,
334
491
  A: [
335
492
  "space",
@@ -395,7 +552,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
395
552
  } else if (isSpace(target) && hidden) {
396
553
  space.db.add(object);
397
554
  } else if (isSpace(target)) {
398
- const collection = space.properties[Type.getTypename(DataType.Collection)]?.target;
555
+ const collection = space.properties[DataType.Collection.typename]?.target;
399
556
  if (Obj.instanceOf(DataType.Collection, collection)) {
400
557
  collection.objects.push(Ref.make(object));
401
558
  } else {
@@ -404,7 +561,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
404
561
  Ref.make(object)
405
562
  ]
406
563
  });
407
- space.properties[Type.getTypename(DataType.Collection)] = Ref.make(collection2);
564
+ space.properties[DataType.Collection.typename] = Ref.make(collection2);
408
565
  }
409
566
  }
410
567
  return {
@@ -452,7 +609,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
452
609
  const space = getSpace(objects[0]);
453
610
  invariant(space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space), void 0, {
454
611
  F: __dxlog_file,
455
- L: 442,
612
+ L: 561,
456
613
  S: void 0,
457
614
  A: [
458
615
  "space && objects.every((obj) => Obj.isObject(obj) && getSpace(obj) === space)",
@@ -461,7 +618,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
461
618
  });
462
619
  const openObjectIds = new Set(layout.active);
463
620
  if (!undo) {
464
- const parentCollection = target ?? space.properties[Type.getTypename(DataType.Collection)]?.target;
621
+ const parentCollection = target ?? space.properties[DataType.Collection.typename]?.target;
465
622
  const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));
466
623
  const deletionData2 = {
467
624
  objects,
@@ -554,7 +711,7 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
554
711
  const space = isSpace(target) ? target : getSpace(target);
555
712
  invariant(space, "Space not found.", {
556
713
  F: __dxlog_file,
557
- L: 557,
714
+ L: 676,
558
715
  S: void 0,
559
716
  A: [
560
717
  "space",
@@ -596,16 +753,14 @@ var intent_resolver_default = ({ context, observability, createInvitationUrl })
596
753
  data: {
597
754
  object: Obj.make(DataType.QueryCollection, {
598
755
  name,
599
- query: {
600
- typename
601
- }
756
+ query: Query.select(Filter.typename(typename)).ast
602
757
  })
603
758
  }
604
759
  })
605
760
  })
606
761
  ]);
607
- };
762
+ });
608
763
  export {
609
764
  intent_resolver_default as default
610
765
  };
611
- //# sourceMappingURL=intent-resolver-JO6L2VXC.mjs.map
766
+ //# sourceMappingURL=intent-resolver-ORRPXJMN.mjs.map