@dxos/plugin-space 0.8.4-main.3c1ae3b → 0.8.4-main.3eb6e50203

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