@dxos/plugin-space 0.8.4-main.7ace549 → 0.8.4-main.937b3ca

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 (563) hide show
  1. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +129 -0
  2. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +148 -0
  4. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +142 -0
  6. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs +107 -0
  8. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +523 -0
  10. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs +84 -0
  12. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-3X2EA2OA.mjs +1898 -0
  14. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-P25R3AOK.mjs → chunk-4WZUGLQQ.mjs} +49 -56
  16. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
  18. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-AWVAX26X.mjs +13 -0
  20. package/dist/lib/browser/chunk-AWVAX26X.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-CCRSHECL.mjs +714 -0
  22. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-HSMQFM57.mjs} +1 -1
  24. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-GJOZILGC.mjs → chunk-SUI34XSA.mjs} +204 -200
  26. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-POFUXISV.mjs → chunk-ZT2VPYRM.mjs} +4 -3
  28. package/dist/lib/browser/{chunk-POFUXISV.mjs.map → chunk-ZT2VPYRM.mjs.map} +2 -2
  29. package/dist/lib/browser/cli/index.mjs +849 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/identity-created-VCFYLSBB.mjs +23 -0
  32. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +213 -192
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs +827 -0
  37. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +7 -0
  38. package/dist/lib/browser/react-root-PI7VTZUZ.mjs +30 -0
  39. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-BPE7VWI7.mjs +382 -0
  41. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +7 -0
  42. package/dist/lib/browser/{repair-CNLE35NF.mjs → repair-CJG26D52.mjs} +16 -10
  43. package/dist/lib/browser/repair-CJG26D52.mjs.map +7 -0
  44. package/dist/lib/browser/settings-ZS2AQ73E.mjs +33 -0
  45. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +7 -0
  46. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs +242 -0
  47. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +7 -0
  48. package/dist/lib/browser/state-7YZQB2KY.mjs +58 -0
  49. package/dist/lib/browser/state-7YZQB2KY.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +10 -8
  51. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +130 -0
  52. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +149 -0
  54. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +7 -0
  55. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +143 -0
  56. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +7 -0
  57. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs +108 -0
  58. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +524 -0
  60. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +7 -0
  61. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs +85 -0
  62. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-AX3UGL5D.mjs → chunk-2SW6S2BB.mjs} +4 -3
  64. package/dist/lib/node-esm/{chunk-AX3UGL5D.mjs.map → chunk-2SW6S2BB.mjs.map} +2 -2
  65. package/dist/lib/node-esm/{chunk-I6FZP42D.mjs → chunk-7KMYUWSR.mjs} +204 -200
  66. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +1899 -0
  70. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-HREWB23G.mjs +15 -0
  72. package/dist/lib/node-esm/chunk-HREWB23G.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-7EV4SN47.mjs → chunk-JOBIWCBC.mjs} +49 -56
  74. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs +715 -0
  76. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-BDEFTL6K.mjs → chunk-SL4BJSUG.mjs} +1 -1
  78. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
  79. package/dist/lib/node-esm/cli/index.mjs +850 -0
  80. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  81. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs +25 -0
  82. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +213 -192
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/meta.json +1 -1
  86. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs +828 -0
  87. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +7 -0
  88. package/dist/lib/node-esm/react-root-KUXM33JI.mjs +31 -0
  89. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +7 -0
  90. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs +383 -0
  91. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +7 -0
  92. package/dist/lib/node-esm/{repair-EHZS6MFY.mjs → repair-G3ZW3VG3.mjs} +16 -10
  93. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +7 -0
  94. package/dist/lib/node-esm/settings-PVI2VG56.mjs +34 -0
  95. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +7 -0
  96. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs +243 -0
  97. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-XE5YGPHM.mjs +59 -0
  99. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +7 -0
  100. package/dist/lib/node-esm/types/index.mjs +10 -8
  101. package/dist/types/src/SpacePlugin.d.ts +3 -15
  102. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  108. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  112. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +10 -20
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  118. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  120. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  122. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  124. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  126. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  128. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  132. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  134. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
  136. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  140. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  142. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  144. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/database/add.d.ts +17 -0
  146. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  148. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  150. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  152. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  154. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  156. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  158. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  160. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/index.d.ts +4 -0
  162. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  164. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  166. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  168. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  170. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  172. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  174. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  176. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  178. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  180. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  182. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  184. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  186. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  188. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  190. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  192. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  194. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  196. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  198. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  200. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  202. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  204. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  206. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  208. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  210. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  212. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  214. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  216. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  218. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  220. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  222. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  224. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  226. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  228. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  230. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  231. package/dist/types/src/cli/index.d.ts +2 -0
  232. package/dist/types/src/cli/index.d.ts.map +1 -0
  233. package/dist/types/src/cli/plugin.d.ts +4 -0
  234. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  235. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  236. package/dist/types/src/components/CollectionArticle.d.ts +5 -2
  237. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -1
  238. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
  239. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  240. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +16 -6
  241. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  242. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -4
  243. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  244. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  245. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -1
  246. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -1
  247. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +10 -1
  248. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -1
  249. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  250. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  251. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
  252. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  253. package/dist/types/src/components/{ObjectDetailsPanel → ObjectCardStack}/ObjectForm.d.ts +2 -3
  254. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
  255. package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
  256. package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
  257. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +1 -1
  258. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  259. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts +9 -0
  260. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts.map +1 -1
  261. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  262. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +9 -0
  263. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  264. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  265. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  266. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +1 -1
  267. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  268. package/dist/types/src/components/RecordArticle.d.ts +1 -1
  269. package/dist/types/src/components/RecordArticle.d.ts.map +1 -1
  270. package/dist/types/src/components/RecordArticle.stories.d.ts +10 -1
  271. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
  272. package/dist/types/src/components/SpacePluginSettings.d.ts +4 -2
  273. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  274. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts +4 -4
  275. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
  276. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +9 -0
  277. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  278. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  279. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +1 -1
  280. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  281. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +10 -1
  282. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  283. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +9 -0
  284. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  285. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  286. package/dist/types/src/components/index.d.ts +14 -10
  287. package/dist/types/src/components/index.d.ts.map +1 -1
  288. package/dist/types/src/constants.d.ts +6 -0
  289. package/dist/types/src/constants.d.ts.map +1 -0
  290. package/dist/types/src/helpers/query.d.ts +3 -4
  291. package/dist/types/src/helpers/query.d.ts.map +1 -1
  292. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  293. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  294. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  295. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  296. package/dist/types/src/hooks/usePath.d.ts +2 -2
  297. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  298. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
  299. package/dist/types/src/index.d.ts +1 -2
  300. package/dist/types/src/index.d.ts.map +1 -1
  301. package/dist/types/src/meta.d.ts +2 -2
  302. package/dist/types/src/meta.d.ts.map +1 -1
  303. package/dist/types/src/translations.d.ts +9 -0
  304. package/dist/types/src/translations.d.ts.map +1 -1
  305. package/dist/types/src/types/capabilities.d.ts +71 -0
  306. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  307. package/dist/types/src/types/events.d.ts +9 -0
  308. package/dist/types/src/types/events.d.ts.map +1 -0
  309. package/dist/types/src/types/form.d.ts +1 -3
  310. package/dist/types/src/types/form.d.ts.map +1 -1
  311. package/dist/types/src/types/index.d.ts +2 -0
  312. package/dist/types/src/types/index.d.ts.map +1 -1
  313. package/dist/types/src/types/types.d.ts +638 -355
  314. package/dist/types/src/types/types.d.ts.map +1 -1
  315. package/dist/types/src/util.d.ts +35 -31
  316. package/dist/types/src/util.d.ts.map +1 -1
  317. package/dist/types/tsconfig.tsbuildinfo +1 -1
  318. package/package.json +82 -69
  319. package/src/SpacePlugin.ts +153 -192
  320. package/src/capabilities/app-graph-builder/app-graph-builder.ts +617 -0
  321. package/src/capabilities/app-graph-builder/index.ts +7 -0
  322. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +82 -0
  323. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  324. package/src/capabilities/identity-created/identity-created.ts +29 -0
  325. package/src/capabilities/identity-created/index.ts +7 -0
  326. package/src/capabilities/index.ts +10 -14
  327. package/src/capabilities/operation-resolver/index.ts +7 -0
  328. package/src/capabilities/operation-resolver/operation-resolver.ts +760 -0
  329. package/src/capabilities/react-root/index.ts +7 -0
  330. package/src/capabilities/react-root/react-root.tsx +25 -0
  331. package/src/capabilities/react-surface/index.ts +7 -0
  332. package/src/capabilities/react-surface/react-surface.tsx +375 -0
  333. package/src/capabilities/repair/index.ts +7 -0
  334. package/src/capabilities/{repair.ts → repair/repair.ts} +21 -11
  335. package/src/capabilities/settings/index.ts +7 -0
  336. package/src/capabilities/settings/settings.ts +32 -0
  337. package/src/capabilities/spaces-ready/index.ts +7 -0
  338. package/src/capabilities/spaces-ready/spaces-ready.ts +289 -0
  339. package/src/capabilities/state/index.ts +7 -0
  340. package/src/capabilities/state/state.ts +64 -0
  341. package/src/cli/commands/database/add.ts +116 -0
  342. package/src/cli/commands/database/index.ts +16 -0
  343. package/src/cli/commands/database/query/index.ts +5 -0
  344. package/src/cli/commands/database/query/query.test.ts +55 -0
  345. package/src/cli/commands/database/query/query.ts +44 -0
  346. package/src/cli/commands/database/remove.ts +51 -0
  347. package/src/cli/commands/database/stats.ts +44 -0
  348. package/src/cli/commands/database/util.ts +32 -0
  349. package/src/cli/commands/index.ts +7 -0
  350. package/src/cli/commands/queue/index.ts +12 -0
  351. package/src/cli/commands/queue/query.ts +45 -0
  352. package/src/cli/commands/queue/util.ts +19 -0
  353. package/src/cli/commands/space/close/close.ts +40 -0
  354. package/src/cli/commands/space/close/index.ts +5 -0
  355. package/src/cli/commands/space/create/create.test.ts +67 -0
  356. package/src/cli/commands/space/create/create.ts +61 -0
  357. package/src/cli/commands/space/create/index.ts +5 -0
  358. package/src/cli/commands/space/index.ts +21 -0
  359. package/src/cli/commands/space/info/index.ts +5 -0
  360. package/src/cli/commands/space/info/info.test.ts +47 -0
  361. package/src/cli/commands/space/info/info.ts +37 -0
  362. package/src/cli/commands/space/join/index.ts +5 -0
  363. package/src/cli/commands/space/join/join.ts +122 -0
  364. package/src/cli/commands/space/join/util.ts +82 -0
  365. package/src/cli/commands/space/list/index.ts +5 -0
  366. package/src/cli/commands/space/list/list.test.ts +36 -0
  367. package/src/cli/commands/space/list/list.ts +30 -0
  368. package/src/cli/commands/space/members/index.ts +5 -0
  369. package/src/cli/commands/space/members/members.test.ts +46 -0
  370. package/src/cli/commands/space/members/members.ts +40 -0
  371. package/src/cli/commands/space/members/util.ts +29 -0
  372. package/src/cli/commands/space/open/index.ts +5 -0
  373. package/src/cli/commands/space/open/open.ts +39 -0
  374. package/src/cli/commands/space/schema/index.ts +12 -0
  375. package/src/cli/commands/space/schema/list/index.ts +5 -0
  376. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  377. package/src/cli/commands/space/schema/list/list.ts +64 -0
  378. package/src/cli/commands/space/schema/list/util.ts +39 -0
  379. package/src/cli/commands/space/share/index.ts +5 -0
  380. package/src/cli/commands/space/share/share.ts +112 -0
  381. package/src/cli/commands/space/sync/index.ts +5 -0
  382. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  383. package/src/cli/commands/space/sync/sync.ts +33 -0
  384. package/src/cli/index.ts +5 -0
  385. package/src/cli/plugin.ts +81 -0
  386. package/src/components/AwaitingObject.tsx +13 -10
  387. package/src/components/CollectionArticle.tsx +144 -19
  388. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +27 -21
  389. package/src/components/CreateDialog/CreateObjectDialog.tsx +39 -47
  390. package/src/components/CreateDialog/CreateObjectPanel.tsx +125 -70
  391. package/src/components/CreateDialog/CreateSpaceDialog.tsx +34 -47
  392. package/src/components/JoinDialog/JoinDialog.tsx +25 -52
  393. package/src/components/MembersContainer/MembersContainer.stories.tsx +2 -2
  394. package/src/components/MembersContainer/MembersContainer.tsx +35 -37
  395. package/src/components/MenuFooter.tsx +1 -1
  396. package/src/components/ObjectCardStack/ObjectCardStack.tsx +67 -0
  397. package/src/components/ObjectCardStack/ObjectForm.tsx +97 -0
  398. package/src/components/ObjectCardStack/index.ts +7 -0
  399. package/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.tsx +4 -4
  400. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  401. package/src/components/ObjectDetails/ObjectDetails.tsx +32 -0
  402. package/src/components/ObjectDetails/index.ts +7 -0
  403. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +9 -13
  404. package/src/components/RecordArticle.stories.tsx +12 -12
  405. package/src/components/RecordArticle.tsx +26 -18
  406. package/src/components/SchemaContainer.tsx +3 -3
  407. package/src/components/SpacePluginSettings.tsx +11 -7
  408. package/src/components/SpacePresence/SpacePresence.tsx +14 -16
  409. package/src/components/SpaceRenamePopover/SpaceRenamePopover.tsx +11 -12
  410. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +4 -4
  411. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +180 -184
  412. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  413. package/src/components/SyncStatus/save-tracker.ts +2 -2
  414. package/src/components/ViewEditor.tsx +16 -13
  415. package/src/components/index.ts +5 -5
  416. package/src/constants.ts +11 -0
  417. package/src/helpers/query.ts +7 -12
  418. package/src/hooks/useActiveSpace.ts +6 -4
  419. package/src/hooks/useInputSurfaceLookup.tsx +8 -17
  420. package/src/hooks/usePath.ts +4 -4
  421. package/src/hooks/useTypeOptions.ts +1 -3
  422. package/src/index.ts +1 -2
  423. package/src/meta.ts +2 -2
  424. package/src/translations.ts +2 -0
  425. package/src/types/capabilities.ts +73 -0
  426. package/src/types/events.ts +15 -0
  427. package/src/types/form.ts +26 -32
  428. package/src/types/index.ts +2 -0
  429. package/src/types/types.ts +528 -247
  430. package/src/util.tsx +219 -231
  431. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +0 -31
  432. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +0 -7
  433. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs +0 -141
  434. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs.map +0 -7
  435. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs +0 -144
  436. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs.map +0 -7
  437. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +0 -116
  438. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +0 -7
  439. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs +0 -517
  440. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +0 -7
  441. package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs +0 -80
  442. package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-6A3NWBB6.mjs +0 -392
  444. package/dist/lib/browser/chunk-6A3NWBB6.mjs.map +0 -7
  445. package/dist/lib/browser/chunk-C6DAPIFF.mjs +0 -20
  446. package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +0 -7
  447. package/dist/lib/browser/chunk-GJOZILGC.mjs.map +0 -7
  448. package/dist/lib/browser/chunk-KCZ527AM.mjs +0 -2126
  449. package/dist/lib/browser/chunk-KCZ527AM.mjs.map +0 -7
  450. package/dist/lib/browser/chunk-P25R3AOK.mjs.map +0 -7
  451. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
  452. package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
  453. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
  454. package/dist/lib/browser/identity-created-NAXTPQXE.mjs +0 -23
  455. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +0 -7
  456. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs +0 -773
  457. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +0 -7
  458. package/dist/lib/browser/react-root-JCRD74GI.mjs +0 -30
  459. package/dist/lib/browser/react-root-JCRD74GI.mjs.map +0 -7
  460. package/dist/lib/browser/react-surface-VOETEAG3.mjs +0 -365
  461. package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +0 -7
  462. package/dist/lib/browser/repair-CNLE35NF.mjs.map +0 -7
  463. package/dist/lib/browser/settings-TRLI52I5.mjs +0 -24
  464. package/dist/lib/browser/settings-TRLI52I5.mjs.map +0 -7
  465. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs +0 -208
  466. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +0 -7
  467. package/dist/lib/browser/state-C7N6EDDZ.mjs +0 -47
  468. package/dist/lib/browser/state-C7N6EDDZ.mjs.map +0 -7
  469. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +0 -32
  470. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +0 -7
  471. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs +0 -142
  472. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs.map +0 -7
  473. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs +0 -145
  474. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs.map +0 -7
  475. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +0 -117
  476. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +0 -7
  477. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs +0 -518
  478. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +0 -7
  479. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs +0 -81
  480. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +0 -7
  482. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
  483. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
  484. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
  485. package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +0 -7
  486. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs +0 -2127
  487. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +0 -7
  488. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +0 -21
  489. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +0 -7
  490. package/dist/lib/node-esm/chunk-X34VDVMY.mjs +0 -393
  491. package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +0 -7
  492. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs +0 -25
  493. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +0 -7
  494. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs +0 -774
  495. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +0 -7
  496. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs +0 -31
  497. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs.map +0 -7
  498. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs +0 -366
  499. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +0 -7
  500. package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +0 -7
  501. package/dist/lib/node-esm/settings-MNQTKHL7.mjs +0 -25
  502. package/dist/lib/node-esm/settings-MNQTKHL7.mjs.map +0 -7
  503. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs +0 -209
  504. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +0 -7
  505. package/dist/lib/node-esm/state-45TXZQJ6.mjs +0 -48
  506. package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +0 -7
  507. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  508. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  509. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  510. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  511. package/dist/types/src/capabilities/capabilities.d.ts +0 -34
  512. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  513. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  514. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  515. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  516. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  517. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  518. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  519. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  520. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  521. package/dist/types/src/capabilities/repair.d.ts +0 -4
  522. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  523. package/dist/types/src/capabilities/settings.d.ts +0 -4
  524. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  525. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  526. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  527. package/dist/types/src/capabilities/state.d.ts +0 -5
  528. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  529. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +0 -9
  530. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +0 -1
  531. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +0 -1
  532. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +0 -3
  533. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +0 -1
  534. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  535. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  536. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  537. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  538. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  539. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  540. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -3
  541. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  542. package/dist/types/src/events.d.ts +0 -8
  543. package/dist/types/src/events.d.ts.map +0 -1
  544. package/src/capabilities/app-graph-builder.ts +0 -689
  545. package/src/capabilities/app-graph-serializer.ts +0 -76
  546. package/src/capabilities/capabilities.ts +0 -40
  547. package/src/capabilities/identity-created.ts +0 -25
  548. package/src/capabilities/intent-resolver.ts +0 -706
  549. package/src/capabilities/react-root.tsx +0 -22
  550. package/src/capabilities/react-surface.tsx +0 -350
  551. package/src/capabilities/settings.ts +0 -21
  552. package/src/capabilities/spaces-ready.ts +0 -243
  553. package/src/capabilities/state.ts +0 -46
  554. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +0 -51
  555. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +0 -72
  556. package/src/components/ObjectDetailsPanel/index.ts +0 -7
  557. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
  558. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -111
  559. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  560. package/src/components/ObjectSettings/index.ts +0 -7
  561. package/src/events.ts +0 -15
  562. /package/dist/types/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.d.ts +0 -0
  563. /package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +0 -0
@@ -2,14 +2,16 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import type * as Effect from 'effect/Effect';
5
6
  import * as Schema from 'effect/Schema';
6
7
 
7
- import { type AnyIntentChain } from '@dxos/app-framework';
8
- import { type Obj, QueryAST, Type } from '@dxos/echo';
9
- import { type PublicKey } from '@dxos/react-client';
8
+ import { Capability, Plugin } from '@dxos/app-framework';
9
+ import { type PublicKey } from '@dxos/client';
10
10
  // TODO(wittjosiah): This pulls in full client.
11
- import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
12
- import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
11
+ import { SpaceSchema } from '@dxos/client/echo';
12
+ import { CancellableInvitationObservable, Invitation } from '@dxos/client/invitations';
13
+ import { Database, type Obj, QueryAST, Type } from '@dxos/echo';
14
+ import { Operation } from '@dxos/operation';
13
15
  import { Collection, FieldSchema, View } from '@dxos/schema';
14
16
  import { type ComplexMap } from '@dxos/util';
15
17
 
@@ -21,6 +23,23 @@ export const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;
21
23
 
22
24
  export const SPACE_TYPE = 'dxos.org/type/Space';
23
25
 
26
+ export type SpacePluginOptions = {
27
+ /**
28
+ * Base URL for the invitation link.
29
+ */
30
+ invitationUrl?: string;
31
+
32
+ /**
33
+ * Query parameter for the invitation code.
34
+ */
35
+ invitationProp?: string;
36
+
37
+ /**
38
+ * Whether to send observability events.
39
+ */
40
+ observability?: boolean;
41
+ };
42
+
24
43
  export type ObjectViewerProps = {
25
44
  lastSeen: number;
26
45
  currentlyAttended: boolean;
@@ -83,7 +102,7 @@ export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
83
102
 
84
103
  export type SerializerMap = Record<string, TypedObjectSerializer>;
85
104
 
86
- export interface TypedObjectSerializer<T extends Obj.Any = Obj.Any> {
105
+ export interface TypedObjectSerializer<T extends Obj.Unknown = Obj.Unknown> {
87
106
  serialize(params: { object: T }): Promise<string>;
88
107
 
89
108
  /**
@@ -91,135 +110,411 @@ export interface TypedObjectSerializer<T extends Obj.Any = Obj.Any> {
91
110
  * @param params.space Space to use for deserializing schema references.
92
111
  * @param params.newId Generate new ID for deserialized object.
93
112
  */
94
- deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;
113
+ deserialize(params: { content: string; db: Database.Database; newId?: boolean }): Promise<T>;
95
114
  }
96
115
 
97
- export type CreateObjectIntent = (props: any, options: { space: Space }) => AnyIntentChain;
116
+ /**
117
+ * Factory function that creates an object directly using Type.make().
118
+ * Returns an Effect that resolves to the created object.
119
+ *
120
+ * Options include:
121
+ * - `db`: The database to use for object creation.
122
+ */
123
+ export type CreateObject = (
124
+ props: any,
125
+ options: { db: Database.Database },
126
+ ) => Effect.Effect<Obj.Unknown, Error, Capability.Service | Operation.Service>;
98
127
 
99
128
  // TODO(burdon): Move to FormatEnum or SDK.
100
129
  export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
101
130
  export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
102
131
 
132
+ // TOOD(burdon): Use SpacePropertiesSchema.
103
133
  export const SpaceForm = Schema.Struct({
104
134
  name: Schema.optional(Schema.String.annotations({ title: 'Name' })),
105
135
  icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
106
136
  hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
107
- // TODO(wittjosiah): Make optional with default value.
108
- edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
137
+ edgeReplication: Schema.optional(Schema.Boolean.annotations({ title: 'Enable EDGE Replication' })),
109
138
  });
110
139
 
111
- export const SPACE_ACTION = `${meta.id}/action`;
140
+ const COLLECTION_OPERATION = 'dxos.org/plugin/collection/operation';
112
141
 
113
- export namespace SpaceAction {
114
- export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
115
- input: Schema.Void,
116
- output: Schema.Void,
117
- }) {}
142
+ export namespace CollectionOperation {
143
+ export const Create = Operation.make({
144
+ meta: { key: `${COLLECTION_OPERATION}/create`, name: 'Create Collection' },
145
+ services: [Capability.Service],
146
+ schema: {
147
+ input: Schema.Struct({
148
+ name: Schema.optional(Schema.String),
149
+ }),
150
+ output: Schema.Struct({
151
+ object: Collection.Collection,
152
+ }),
153
+ },
154
+ });
155
+ }
118
156
 
119
- export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
120
- input: SpaceForm,
121
- output: Schema.Struct({
122
- id: Schema.String,
123
- subject: Schema.Array(Schema.String),
124
- space: SpaceSchema,
125
- }),
126
- }) {}
157
+ const SPACE_OPERATION = `${meta.id}/operation`;
158
+
159
+ /**
160
+ * Operations for the Space plugin.
161
+ */
162
+ export namespace SpaceOperation {
163
+ export const Create = Operation.make({
164
+ meta: {
165
+ key: `${SPACE_OPERATION}/create`,
166
+ name: 'Create Space',
167
+ description: 'Create a new space.',
168
+ },
169
+ services: [Capability.Service, Plugin.Service],
170
+ schema: {
171
+ input: SpaceForm,
172
+ output: Schema.Struct({
173
+ id: Schema.String,
174
+ subject: Schema.Array(Schema.String),
175
+ space: SpaceSchema,
176
+ }),
177
+ },
178
+ });
127
179
 
128
- export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
129
- input: Schema.Struct({
130
- invitationCode: Schema.optional(Schema.String),
131
- onDone: Schema.optional(Schema.Any),
132
- }),
133
- output: Schema.Void,
134
- }) {}
180
+ export const Join = Operation.make({
181
+ meta: {
182
+ key: `${SPACE_OPERATION}/join`,
183
+ name: 'Join Space',
184
+ description: 'Join a space via invitation.',
185
+ },
186
+ services: [Capability.Service],
187
+ schema: {
188
+ input: Schema.Struct({
189
+ invitationCode: Schema.optional(Schema.String),
190
+ onDone: Schema.optional(Schema.Any),
191
+ }),
192
+ output: Schema.Void,
193
+ },
194
+ });
135
195
 
136
- export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
137
- input: Schema.Struct({
138
- space: SpaceSchema,
139
- }),
140
- output: Schema.Void,
141
- }) {}
142
-
143
- export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
144
- input: Schema.Struct({
145
- space: SpaceSchema,
146
- type: Schema.Enums(Invitation.Type),
147
- authMethod: Schema.Enums(Invitation.AuthMethod),
148
- multiUse: Schema.Boolean,
149
- target: Schema.optional(Schema.String),
150
- }),
151
- output: Schema.instanceOf(CancellableInvitationObservable),
152
- }) {}
153
-
154
- export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
155
- input: Schema.Struct({
156
- space: SpaceSchema,
157
- target: Schema.optional(Schema.String),
158
- copyToClipboard: Schema.optional(Schema.Boolean),
159
- }),
160
- output: Schema.String,
161
- }) {}
196
+ export const Open = Operation.make({
197
+ meta: {
198
+ key: `${SPACE_OPERATION}/open`,
199
+ name: 'Open Space',
200
+ description: 'Open a space.',
201
+ },
202
+ services: [Capability.Service],
203
+ schema: {
204
+ input: Schema.Struct({
205
+ space: SpaceSchema,
206
+ }),
207
+ output: Schema.Void,
208
+ },
209
+ });
162
210
 
163
- export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
164
- input: Schema.Struct({
165
- space: SpaceSchema,
166
- }),
167
- output: Schema.Void,
168
- }) {}
211
+ export const Close = Operation.make({
212
+ meta: {
213
+ key: `${SPACE_OPERATION}/close`,
214
+ name: 'Close Space',
215
+ description: 'Close a space.',
216
+ },
217
+ services: [Capability.Service],
218
+ schema: {
219
+ input: Schema.Struct({
220
+ space: SpaceSchema,
221
+ }),
222
+ output: Schema.Void,
223
+ },
224
+ });
169
225
 
170
- export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
171
- input: Schema.Struct({
172
- space: SpaceSchema,
173
- }),
174
- output: Schema.Void,
175
- }) {}
226
+ export const Share = Operation.make({
227
+ meta: {
228
+ key: `${SPACE_OPERATION}/share`,
229
+ name: 'Share Space',
230
+ description: 'Share a space.',
231
+ },
232
+ services: [Capability.Service],
233
+ schema: {
234
+ input: Schema.Struct({
235
+ space: SpaceSchema,
236
+ type: Schema.Enums(Invitation.Type),
237
+ authMethod: Schema.Enums(Invitation.AuthMethod),
238
+ multiUse: Schema.Boolean,
239
+ target: Schema.optional(Schema.String),
240
+ }),
241
+ output: Schema.instanceOf(CancellableInvitationObservable),
242
+ },
243
+ });
176
244
 
177
- export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
178
- input: Schema.Struct({
179
- space: SpaceSchema,
180
- caller: Schema.optional(Schema.String),
181
- }),
182
- output: Schema.Void,
183
- }) {}
184
-
185
- // TODO(wittjosiah): Handle scrolling to section.
186
- // This maybe motivates making the space settings its own deck?
187
- export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
188
- input: Schema.Struct({ space: SpaceSchema }),
189
- output: Schema.Void,
190
- }) {}
191
-
192
- export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
193
- input: Schema.Struct({
194
- space: SpaceSchema,
195
- }),
196
- output: Schema.Void,
197
- }) {}
245
+ // TODO(wittjosiah): This appears to be unused.
246
+ export const Lock = Operation.make({
247
+ meta: {
248
+ key: `${SPACE_OPERATION}/lock`,
249
+ name: 'Lock Space',
250
+ description: 'Lock a space to prevent modifications.',
251
+ },
252
+ services: [Capability.Service],
253
+ schema: {
254
+ input: Schema.Struct({
255
+ space: SpaceSchema,
256
+ }),
257
+ output: Schema.Void,
258
+ },
259
+ });
198
260
 
199
- export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
200
- input: Schema.Struct({
201
- space: SpaceSchema,
202
- }),
203
- output: Schema.Void,
204
- }) {}
261
+ // TODO(wittjosiah): This appears to be unused.
262
+ export const Unlock = Operation.make({
263
+ meta: {
264
+ key: `${SPACE_OPERATION}/unlock`,
265
+ name: 'Unlock Space',
266
+ description: 'Unlock a space to allow modifications.',
267
+ },
268
+ services: [Capability.Service],
269
+ schema: {
270
+ input: Schema.Struct({
271
+ space: SpaceSchema,
272
+ }),
273
+ output: Schema.Void,
274
+ },
275
+ });
205
276
 
206
- export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
207
- input: Schema.Struct({
208
- space: SpaceSchema,
209
- version: Schema.optional(Schema.String),
210
- }),
211
- output: Schema.Boolean,
212
- }) {}
277
+ export const OpenSettings = Operation.make({
278
+ meta: {
279
+ key: `${SPACE_OPERATION}/open-settings`,
280
+ name: 'Open Space Settings',
281
+ description: 'Open space settings.',
282
+ },
283
+ services: [Capability.Service],
284
+ schema: {
285
+ input: Schema.Struct({
286
+ space: SpaceSchema,
287
+ }),
288
+ output: Schema.Void,
289
+ },
290
+ });
291
+
292
+ export const WaitForObject = Operation.make({
293
+ meta: {
294
+ key: `${SPACE_OPERATION}/wait-for-object`,
295
+ name: 'Wait For Object',
296
+ description: 'Wait for an object to be available.',
297
+ },
298
+ services: [Capability.Service],
299
+ schema: {
300
+ input: Schema.Struct({
301
+ id: Schema.optional(Schema.String),
302
+ }),
303
+ output: Schema.Void,
304
+ },
305
+ });
306
+
307
+ export const AddObject = Operation.make({
308
+ meta: {
309
+ key: `${SPACE_OPERATION}/add-object`,
310
+ name: 'Add Object',
311
+ description: 'Add an object to a space.',
312
+ },
313
+ services: [Capability.Service],
314
+ schema: {
315
+ input: Schema.Struct({
316
+ object: Type.Obj.annotations({ description: 'The object to add.' }),
317
+ target: Schema.Union(Database.Database, Collection.Collection).annotations({
318
+ description: 'The database or collection to add to.',
319
+ }),
320
+ hidden: Schema.optional(Schema.Boolean),
321
+ }),
322
+ output: Schema.Struct({
323
+ id: Schema.String,
324
+ subject: Schema.Array(Schema.String),
325
+ object: Type.Obj,
326
+ }),
327
+ },
328
+ });
213
329
 
214
- export class Snapshot extends Schema.TaggedClass<Snapshot>()(`${SPACE_ACTION}/snapshot`, {
215
- input: Schema.Struct({
216
- space: SpaceSchema,
217
- query: QueryAST.Query.pipe(Schema.optional),
330
+ export const RemoveObjectsOutput = Schema.Struct({
331
+ objects: Schema.Array(Type.Obj).annotations({ description: 'The removed objects.' }),
332
+ parentCollection: Collection.Collection.annotations({ description: 'The collection removed from.' }),
333
+ indices: Schema.Array(Schema.Number).annotations({ description: 'The indices the objects were at.' }),
334
+ nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({
335
+ description: 'Nested objects that were removed.',
218
336
  }),
219
- output: Schema.Struct({
220
- snapshot: Schema.instanceOf(Blob),
337
+ wasActive: Schema.Array(Schema.String).annotations({
338
+ description: 'IDs of objects that were active before removal.',
221
339
  }),
222
- }) {}
340
+ });
341
+
342
+ export type RemoveObjectsOutput = Schema.Schema.Type<typeof RemoveObjectsOutput>;
343
+
344
+ export const RemoveObjects = Operation.make({
345
+ meta: {
346
+ key: `${SPACE_OPERATION}/remove-objects`,
347
+ name: 'Remove Objects',
348
+ description: 'Remove objects from a space.',
349
+ },
350
+ services: [Capability.Service],
351
+ schema: {
352
+ input: Schema.Struct({
353
+ objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to remove.' }),
354
+ target: Schema.optional(Collection.Collection).annotations({ description: 'The collection to remove from.' }),
355
+ }),
356
+ output: RemoveObjectsOutput,
357
+ },
358
+ });
359
+
360
+ export const DeleteFieldOutput = Schema.Struct({
361
+ field: FieldSchema.annotations({ description: 'The deleted field schema.' }),
362
+ // TODO(wittjosiah): This creates a type error with PropertySchema.
363
+ props: Schema.Any.annotations({ description: 'The deleted field properties.' }),
364
+ index: Schema.Number.annotations({ description: 'The index the field was at.' }),
365
+ });
366
+
367
+ export type DeleteFieldOutput = Schema.Schema.Type<typeof DeleteFieldOutput>;
368
+
369
+ export const DeleteField = Operation.make({
370
+ meta: {
371
+ key: `${SPACE_OPERATION}/delete-field`,
372
+ name: 'Delete Field',
373
+ description: 'Delete a field from a view.',
374
+ },
375
+ services: [Capability.Service],
376
+ schema: {
377
+ input: Schema.Struct({
378
+ view: View.View.annotations({ description: 'The view to delete the field from.' }),
379
+ fieldId: Schema.String,
380
+ }),
381
+ output: DeleteFieldOutput,
382
+ },
383
+ });
384
+
385
+ export const OpenCreateObject = Operation.make({
386
+ meta: {
387
+ key: `${SPACE_OPERATION}/open-create-object`,
388
+ name: 'Open Create Object Dialog',
389
+ description: 'Open the create object dialog.',
390
+ },
391
+ services: [Capability.Service],
392
+ schema: {
393
+ input: Schema.Struct({
394
+ target: Schema.Union(Database.Database, Collection.Collection).annotations({
395
+ description: 'The database or collection to create in.',
396
+ }),
397
+ views: Schema.optional(Schema.Boolean),
398
+ typename: Schema.optional(Schema.String),
399
+ initialFormValues: Schema.optional(Schema.Any),
400
+ navigable: Schema.optional(Schema.Boolean),
401
+ // TODO(wittjosiah): This is a function, is there a better way to handle this?
402
+ onCreateObject: Schema.optional(Schema.Any),
403
+ }),
404
+ output: Schema.Void,
405
+ },
406
+ });
407
+
408
+ export const OpenCreateSpace = Operation.make({
409
+ meta: {
410
+ key: `${SPACE_OPERATION}/open-create-space`,
411
+ name: 'Open Create Space Dialog',
412
+ description: 'Open the create space dialog.',
413
+ },
414
+ services: [Capability.Service],
415
+ schema: {
416
+ input: Schema.Void,
417
+ output: Schema.Void,
418
+ },
419
+ });
420
+
421
+ export const Migrate = Operation.make({
422
+ meta: {
423
+ key: `${SPACE_OPERATION}/migrate`,
424
+ name: 'Migrate Space',
425
+ description: 'Migrate a space to a new version.',
426
+ },
427
+ services: [Capability.Service],
428
+ schema: {
429
+ input: Schema.Struct({
430
+ space: SpaceSchema,
431
+ version: Schema.optional(Schema.String),
432
+ }),
433
+ output: Schema.Boolean,
434
+ },
435
+ });
436
+
437
+ export const Snapshot = Operation.make({
438
+ meta: {
439
+ key: `${SPACE_OPERATION}/snapshot`,
440
+ name: 'Create Snapshot',
441
+ description: 'Create a snapshot of the space.',
442
+ },
443
+ services: [Capability.Service],
444
+ schema: {
445
+ input: Schema.Struct({
446
+ db: Database.Database,
447
+ query: QueryAST.Query.pipe(Schema.optional),
448
+ }),
449
+ output: Schema.Struct({
450
+ snapshot: Schema.instanceOf(Blob),
451
+ }),
452
+ },
453
+ });
454
+
455
+ export const Rename = Operation.make({
456
+ meta: {
457
+ key: `${SPACE_OPERATION}/rename`,
458
+ name: 'Rename Space',
459
+ description: 'Rename a space.',
460
+ },
461
+ services: [Capability.Service],
462
+ schema: {
463
+ input: Schema.Struct({
464
+ space: SpaceSchema,
465
+ caller: Schema.optional(Schema.String),
466
+ }),
467
+ output: Schema.Void,
468
+ },
469
+ });
470
+
471
+ export const RenameObject = Operation.make({
472
+ meta: {
473
+ key: `${SPACE_OPERATION}/rename-object`,
474
+ name: 'Rename Object',
475
+ description: 'Rename an object.',
476
+ },
477
+ services: [Capability.Service],
478
+ schema: {
479
+ input: Schema.Struct({
480
+ object: Type.Obj,
481
+ caller: Schema.optional(Schema.String),
482
+ }),
483
+ output: Schema.Void,
484
+ },
485
+ });
486
+
487
+ export const OpenMembers = Operation.make({
488
+ meta: {
489
+ key: `${SPACE_OPERATION}/open-members`,
490
+ name: 'Open Members',
491
+ description: 'Open the members panel for a space.',
492
+ },
493
+ services: [Capability.Service],
494
+ schema: {
495
+ input: Schema.Struct({
496
+ space: SpaceSchema,
497
+ }),
498
+ output: Schema.Void,
499
+ },
500
+ });
501
+
502
+ export const GetShareLink = Operation.make({
503
+ meta: {
504
+ key: `${SPACE_OPERATION}/get-share-link`,
505
+ name: 'Get Share Link',
506
+ description: 'Get a shareable link for a space.',
507
+ },
508
+ services: [Capability.Service],
509
+ schema: {
510
+ input: Schema.Struct({
511
+ space: SpaceSchema,
512
+ target: Schema.optional(Schema.String),
513
+ copyToClipboard: Schema.optional(Schema.Boolean),
514
+ }),
515
+ output: Schema.String,
516
+ },
517
+ });
223
518
 
224
519
  export const StoredSchemaForm = Schema.Struct({
225
520
  name: Schema.optional(Schema.String),
@@ -234,147 +529,133 @@ export namespace SpaceAction {
234
529
  ),
235
530
  });
236
531
 
237
- export class UseStaticSchema extends Schema.TaggedClass<UseStaticSchema>()(`${SPACE_ACTION}/use-static-schema`, {
238
- input: Schema.Struct({
239
- space: SpaceSchema,
240
- typename: Schema.String,
241
- // TODO(wittjosiah): This is leaky.
242
- show: Schema.optional(Schema.Boolean),
243
- }),
244
- output: Schema.Struct({}),
245
- }) {}
246
-
247
- export class AddSchema extends Schema.TaggedClass<AddSchema>()(`${SPACE_ACTION}/add-schema`, {
248
- input: Schema.Struct({
249
- space: SpaceSchema,
250
- name: Schema.optional(Schema.String),
251
- typename: Schema.optional(Schema.String),
252
- // TODO(wittjosiah): Semantic version format.
253
- version: Schema.optional(Schema.String),
254
- // TODO(wittjosiah): Schema for schema?
255
- schema: Schema.Any,
256
- // TODO(wittjosiah): This is leaky.
257
- show: Schema.optional(Schema.Boolean),
258
- }),
259
- output: Schema.Struct({
260
- // TODO(wittjosiah): ObjectId.
261
- id: Schema.String,
262
- object: Type.PersistentType,
263
- schema: Schema.instanceOf(Type.RuntimeType),
264
- }),
265
- }) {}
266
-
267
- export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
268
- input: Schema.Struct({
269
- view: View.View,
270
- fieldId: Schema.String,
271
- // TODO(wittjosiah): Separate fields for undo data?
272
- deletionData: Schema.optional(
273
- Schema.Struct({
274
- field: FieldSchema,
275
- // TODO(wittjosiah): This creates a type error.
276
- // props: PropertySchema,
277
- props: Schema.Any,
278
- index: Schema.Number,
279
- }),
280
- ),
281
- }),
282
- output: Schema.Void,
283
- }) {}
284
-
285
- export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
286
- input: Schema.Struct({
287
- target: Schema.Union(SpaceSchema, Collection.Collection),
288
- views: Schema.optional(Schema.Boolean),
289
- typename: Schema.optional(Schema.String),
290
- initialFormValues: Schema.optional(Schema.Any),
291
- navigable: Schema.optional(Schema.Boolean),
292
- // TODO(wittjosiah): This is a function, is there a better way to handle this?
293
- onCreateObject: Schema.optional(Schema.Any),
294
- }),
295
- output: Schema.Void,
296
- }) {}
297
-
298
- export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
299
- input: Schema.Struct({
300
- object: ReactiveObjectSchema,
301
- target: Schema.Union(SpaceSchema, Collection.Collection),
302
- hidden: Schema.optional(Schema.Boolean),
303
- }),
304
- output: Schema.Struct({
305
- // TODO(wittjosiah): ObjectId.
306
- id: Schema.String,
307
- subject: Schema.Array(Schema.String),
308
- object: EchoObjectSchema,
309
- }),
310
- }) {}
311
-
312
- export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {
313
- input: Schema.Struct({
314
- space: SpaceSchema,
315
- // TODO(wittjosiah): Relation schema.
316
- schema: Schema.Any,
317
- source: Type.Expando,
318
- target: Type.Expando,
319
- // TODO(wittjosiah): Type based on relation schema.
320
- fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
321
- }),
322
- output: Schema.Struct({
323
- relation: Schema.Any,
324
- }),
325
- }) {}
326
-
327
- export const DeletionData = Schema.Struct({
328
- objects: Schema.Array(EchoObjectSchema),
329
- parentCollection: Collection.Collection,
330
- indices: Schema.Array(Schema.Number),
331
- nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
332
- wasActive: Schema.Array(Schema.String),
532
+ export const UseStaticSchema = Operation.make({
533
+ meta: {
534
+ key: `${SPACE_OPERATION}/use-static-schema`,
535
+ name: 'Use Static Schema',
536
+ description: 'Use a static schema in the space.',
537
+ },
538
+ services: [Capability.Service, Plugin.Service],
539
+ schema: {
540
+ input: Schema.Struct({
541
+ db: Database.Database,
542
+ typename: Schema.String,
543
+ show: Schema.optional(Schema.Boolean),
544
+ }),
545
+ output: Schema.Struct({}),
546
+ },
333
547
  });
334
548
 
335
- export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
336
-
337
- export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
338
- input: Schema.Struct({
339
- // TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
340
- objects: Schema.Array(ReactiveObjectSchema),
341
- target: Schema.optional(Collection.Collection),
342
- deletionData: Schema.optional(DeletionData),
343
- }),
344
- output: Schema.Void,
345
- }) {}
549
+ export const AddSchema = Operation.make({
550
+ meta: {
551
+ key: `${SPACE_OPERATION}/add-schema`,
552
+ name: 'Add Schema',
553
+ description: 'Add a schema to the space.',
554
+ },
555
+ services: [Capability.Service, Plugin.Service],
556
+ schema: {
557
+ input: Schema.Struct({
558
+ db: Database.Database,
559
+ name: Schema.optional(Schema.String),
560
+ typename: Schema.optional(Schema.String),
561
+ version: Schema.optional(Schema.String),
562
+ // TODO(wittjosiah): Schema for schema?
563
+ schema: Schema.Any,
564
+ show: Schema.optional(Schema.Boolean),
565
+ }),
566
+ output: Schema.Struct({
567
+ id: Schema.String,
568
+ object: Type.PersistentType,
569
+ schema: Schema.instanceOf(Type.RuntimeType),
570
+ }),
571
+ },
572
+ });
346
573
 
347
- export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
348
- input: Schema.Struct({
349
- object: EchoObjectSchema,
350
- caller: Schema.optional(Schema.String),
351
- }),
352
- output: Schema.Void,
353
- }) {}
574
+ export const AddRelation = Operation.make({
575
+ meta: {
576
+ key: `${SPACE_OPERATION}/add-relation`,
577
+ name: 'Add Relation',
578
+ description: 'Add a relation between objects.',
579
+ },
580
+ services: [Capability.Service],
581
+ schema: {
582
+ input: Schema.Struct({
583
+ db: Database.Database,
584
+ // TODO(wittjosiah): Relation schema.
585
+ schema: Schema.Any,
586
+ source: Type.Obj,
587
+ target: Type.Obj,
588
+ // TODO(wittjosiah): Type based on relation schema.
589
+ fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
590
+ }),
591
+ output: Schema.Struct({
592
+ relation: Schema.Any,
593
+ }),
594
+ },
595
+ });
354
596
 
355
- export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
356
- input: Schema.Struct({
357
- object: EchoObjectSchema,
358
- target: Schema.Union(SpaceSchema, Collection.Collection),
359
- }),
360
- output: Schema.Void,
361
- }) {}
597
+ // TODO(wittjosiah): This appears to be unused.
598
+ export const DuplicateObject = Operation.make({
599
+ meta: {
600
+ key: `${SPACE_OPERATION}/duplicate-object`,
601
+ name: 'Duplicate Object',
602
+ description: 'Duplicate an object.',
603
+ },
604
+ services: [Capability.Service],
605
+ schema: {
606
+ input: Schema.Struct({
607
+ object: Type.Obj,
608
+ target: Schema.Union(Database.Database, Collection.Collection),
609
+ }),
610
+ output: Schema.Void,
611
+ },
612
+ });
362
613
 
363
- export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
364
- input: Schema.Struct({
365
- id: Schema.optional(Schema.String),
366
- }),
367
- output: Schema.Void,
368
- }) {}
369
- }
614
+ /**
615
+ * Restore a deleted field to a view (inverse of DeleteField).
616
+ */
617
+ export const RestoreField = Operation.make({
618
+ meta: {
619
+ key: `${SPACE_OPERATION}/restore-field`,
620
+ name: 'Restore Field',
621
+ description: 'Restore a deleted field to a view.',
622
+ },
623
+ services: [Capability.Service],
624
+ schema: {
625
+ input: Schema.Struct({
626
+ view: View.View.annotations({ description: 'The view to restore the field to.' }),
627
+ field: FieldSchema.annotations({ description: 'The field schema to restore.' }),
628
+ // TODO(wittjosiah): This creates a type error with PropertySchema.
629
+ props: Schema.Any.annotations({ description: 'The field properties to restore.' }),
630
+ index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),
631
+ }),
632
+ output: Schema.Void,
633
+ },
634
+ });
370
635
 
371
- export namespace CollectionAction {
372
- export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
373
- input: Schema.Struct({
374
- name: Schema.optional(Schema.String),
375
- }),
376
- output: Schema.Struct({
377
- object: Collection.Collection,
378
- }),
379
- }) {}
636
+ /**
637
+ * Restore deleted objects to a space (inverse of RemoveObjects).
638
+ */
639
+ export const RestoreObjects = Operation.make({
640
+ meta: {
641
+ key: `${SPACE_OPERATION}/restore-objects`,
642
+ name: 'Restore Objects',
643
+ description: 'Restore deleted objects to a space.',
644
+ },
645
+ services: [Capability.Service],
646
+ schema: {
647
+ input: Schema.Struct({
648
+ objects: Schema.Array(Type.Obj).annotations({ description: 'The objects to restore.' }),
649
+ parentCollection: Collection.Collection.annotations({ description: 'The collection to restore to.' }),
650
+ indices: Schema.Array(Schema.Number).annotations({ description: 'The indices to restore at.' }),
651
+ nestedObjectsList: Schema.Array(Schema.Array(Type.Obj)).annotations({
652
+ description: 'Nested objects to restore.',
653
+ }),
654
+ wasActive: Schema.Array(Schema.String).annotations({
655
+ description: 'IDs of objects that were active before deletion.',
656
+ }),
657
+ }),
658
+ output: Schema.Void,
659
+ },
660
+ });
380
661
  }