@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
@@ -0,0 +1,849 @@
1
+ import {
2
+ IdentityCreated,
3
+ OperationResolver
4
+ } from "../chunk-AWVAX26X.mjs";
5
+ import {
6
+ SpaceEvents
7
+ } from "../chunk-CCRSHECL.mjs";
8
+ import {
9
+ meta
10
+ } from "../chunk-HSMQFM57.mjs";
11
+
12
+ // src/cli/plugin.ts
13
+ import * as Effect17 from "effect/Effect";
14
+ import { Capability, Common as Common12, Plugin as Plugin2 } from "@dxos/app-framework";
15
+ import { Tag } from "@dxos/echo";
16
+ import { ClientEvents } from "@dxos/plugin-client/types";
17
+ import { Collection as Collection2, DataTypes } from "@dxos/schema";
18
+ import { AnchoredTo, Employer, Event, HasConnection, HasRelationship, HasSubject, Organization, Person, Project, Task } from "@dxos/types";
19
+
20
+ // src/cli/commands/database/index.ts
21
+ import * as Command5 from "@effect/cli/Command";
22
+
23
+ // src/cli/commands/database/add.ts
24
+ import * as Command from "@effect/cli/Command";
25
+ import * as Options from "@effect/cli/Options";
26
+ import * as Prompt from "@effect/cli/Prompt";
27
+ import * as Console from "effect/Console";
28
+ import * as Effect from "effect/Effect";
29
+ import * as Option from "effect/Option";
30
+ import { Common as AppFrameworkCommon, Plugin } from "@dxos/app-framework";
31
+ import { CommandConfig, Common, flushAndSync, print, spaceLayer } from "@dxos/cli-util";
32
+ import { SpaceProperties } from "@dxos/client/echo";
33
+ import { Database, Filter, Obj, Ref, Type } from "@dxos/echo";
34
+ import { EntityKind, getTypeAnnotation } from "@dxos/echo/internal";
35
+ import { Collection } from "@dxos/schema";
36
+
37
+ // src/cli/commands/database/util.ts
38
+ import { FormBuilder } from "@dxos/cli-util";
39
+ import { Entity } from "@dxos/echo";
40
+ var printObject = (obj) => {
41
+ const typename = Entity.getTypename(obj) ?? "<unknown>";
42
+ return FormBuilder.make({
43
+ title: Entity.getLabel(obj) ?? typename
44
+ }).pipe(FormBuilder.set("id", obj.id), FormBuilder.set("typename", typename), FormBuilder.build);
45
+ };
46
+ var printStats = (typename, count) => FormBuilder.make({
47
+ title: typename
48
+ }).pipe(FormBuilder.set("count", count), FormBuilder.build);
49
+ var printObjectRemoved = (count) => FormBuilder.make({
50
+ title: "Objects removed"
51
+ }).pipe(FormBuilder.set("count", count), FormBuilder.build);
52
+
53
+ // src/cli/commands/database/add.ts
54
+ var add = Command.make("add", {
55
+ spaceId: Common.spaceId.pipe(Options.optional),
56
+ typename: Options.text("typename").pipe(Options.withDescription("The typename to create."), Options.optional)
57
+ }, ({ typename }) => Effect.gen(function* () {
58
+ const { json } = yield* CommandConfig;
59
+ const manager = yield* Plugin.Service;
60
+ const { db } = yield* Database.Service;
61
+ yield* manager.activate(AppFrameworkCommon.ActivationEvent.SetupMetadata);
62
+ const resolve = (typename2) => {
63
+ const metadata2 = manager.capabilities.getAll(AppFrameworkCommon.Capability.Metadata).find(({ id }) => id === typename2)?.metadata;
64
+ return metadata2?.createObject ? metadata2 : void 0;
65
+ };
66
+ const [properties] = yield* Database.Service.runQuery(Filter.type(SpaceProperties));
67
+ const collection = yield* Database.Service.load(properties[Collection.Collection.typename]);
68
+ const selectedTypename = yield* Option.match(typename, {
69
+ onNone: () => selectTypename(resolve),
70
+ onSome: (t) => Effect.succeed(t)
71
+ });
72
+ const metadata = resolve(selectedTypename);
73
+ if (!metadata) {
74
+ return yield* Effect.fail(new Error(`Unknown typename: ${selectedTypename}`));
75
+ }
76
+ const object = yield* metadata.createObject({}, {
77
+ db
78
+ });
79
+ if (!Obj.isObject(object)) {
80
+ return yield* Effect.fail(new Error(`Invalid object: ${object}`));
81
+ }
82
+ const objectRef = Ref.make(object);
83
+ Obj.change(collection, (c) => {
84
+ c.objects.push(objectRef);
85
+ });
86
+ if (json) {
87
+ yield* Console.log(JSON.stringify(object, null, 2));
88
+ } else {
89
+ yield* Console.log(print(printObject(object)));
90
+ }
91
+ yield* flushAndSync({
92
+ indexes: true
93
+ });
94
+ })).pipe(Command.withDescription("Add an object to a space."), Command.provide(({ spaceId }) => spaceLayer(spaceId, true)));
95
+ var selectTypename = Effect.fn(function* (resolve) {
96
+ const schemas = yield* Database.Service.runSchemaQuery({
97
+ location: [
98
+ "database",
99
+ "runtime"
100
+ ],
101
+ includeSystem: false
102
+ }).pipe(Effect.map((schemas2) => schemas2.filter((schema2) => getTypeAnnotation(schema2)?.kind !== EntityKind.Relation)), Effect.map((schemas2) => schemas2.filter((schema2) => !!resolve(Type.getTypename(schema2)))));
103
+ const choices = schemas.map((schema2) => ({
104
+ // TODO(wittjosiah): Translations.
105
+ title: Type.getTypename(schema2),
106
+ value: Type.getTypename(schema2),
107
+ description: Type.getTypename(schema2)
108
+ }));
109
+ const selected = yield* Prompt.select({
110
+ message: "Select a type:",
111
+ choices
112
+ });
113
+ return selected;
114
+ });
115
+
116
+ // src/cli/commands/database/query/query.ts
117
+ import * as Command2 from "@effect/cli/Command";
118
+ import * as Options2 from "@effect/cli/Options";
119
+ import * as Console2 from "effect/Console";
120
+ import * as Effect2 from "effect/Effect";
121
+ import * as Option2 from "effect/Option";
122
+ import { CommandConfig as CommandConfig2, Common as Common2, printList, spaceLayer as spaceLayer2 } from "@dxos/cli-util";
123
+ import { Database as Database2, Filter as Filter2 } from "@dxos/echo";
124
+ var handler = ({ typename }) => Effect2.gen(function* () {
125
+ const { json } = yield* CommandConfig2;
126
+ const filter = Option2.match(typename, {
127
+ onNone: () => Filter2.everything(),
128
+ onSome: (typename2) => Filter2.typename(typename2)
129
+ });
130
+ const objects = yield* Database2.Service.runQuery(filter);
131
+ if (json) {
132
+ yield* Console2.log(JSON.stringify(objects, null, 2));
133
+ } else {
134
+ const formatted = objects.map(printObject);
135
+ yield* Console2.log(printList(formatted));
136
+ }
137
+ });
138
+ var query = Command2.make("query", {
139
+ spaceId: Common2.spaceId.pipe(Options2.optional),
140
+ typename: Options2.text("typename").pipe(Options2.optional, Options2.withDescription("The typename to query."))
141
+ }, handler).pipe(Command2.withDescription("Query objects."), Command2.provide(({ spaceId }) => spaceLayer2(spaceId, true)));
142
+
143
+ // src/cli/commands/database/remove.ts
144
+ import * as Command3 from "@effect/cli/Command";
145
+ import * as Options3 from "@effect/cli/Options";
146
+ import * as Console3 from "effect/Console";
147
+ import * as Effect3 from "effect/Effect";
148
+ import * as Option3 from "effect/Option";
149
+ import { CommandConfig as CommandConfig3, Common as Common3, print as print2, spaceLayer as spaceLayer3 } from "@dxos/cli-util";
150
+ import { Database as Database3, Filter as Filter3, Query } from "@dxos/echo";
151
+ var remove = Command3.make("remove", {
152
+ spaceId: Common3.spaceId.pipe(Options3.optional),
153
+ typename: Options3.text("typename").pipe(Options3.withDescription("The typename to query."), Options3.optional),
154
+ id: Options3.text("id").pipe(Options3.withDescription("The object ID."), Options3.optional)
155
+ }, ({ typename, id }) => Effect3.gen(function* () {
156
+ const { json } = yield* CommandConfig3;
157
+ if (Option3.isSome(id) && Option3.isSome(typename)) {
158
+ throw new Error("Cannot specify both typename and id");
159
+ }
160
+ let query3;
161
+ if (Option3.isSome(id)) {
162
+ query3 = Query.select(Filter3.id(id.value));
163
+ } else if (Option3.isSome(typename)) {
164
+ query3 = Query.select(Filter3.typename(typename.value));
165
+ } else {
166
+ throw new Error("Must specify typename or id");
167
+ }
168
+ const objects = yield* Database3.Service.runQuery(query3);
169
+ for (const object of objects) {
170
+ yield* Database3.Service.remove(object);
171
+ }
172
+ if (json) {
173
+ yield* Console3.log(JSON.stringify({
174
+ removed: objects.length
175
+ }, null, 2));
176
+ } else {
177
+ yield* Console3.log(print2(printObjectRemoved(objects.length)));
178
+ }
179
+ })).pipe(Command3.withDescription("Remove an object from a space."), Command3.provide(({ spaceId }) => spaceLayer3(spaceId, true)));
180
+
181
+ // src/cli/commands/database/stats.ts
182
+ import * as Command4 from "@effect/cli/Command";
183
+ import * as Options4 from "@effect/cli/Options";
184
+ import * as Array from "effect/Array";
185
+ import * as Console4 from "effect/Console";
186
+ import * as Effect4 from "effect/Effect";
187
+ import * as Function from "effect/Function";
188
+ import * as Record from "effect/Record";
189
+ import { CommandConfig as CommandConfig4, Common as Common4, printList as printList2, spaceLayer as spaceLayer4 } from "@dxos/cli-util";
190
+ import { Obj as Obj2 } from "@dxos/echo";
191
+ import { Database as Database4, Filter as Filter4, Query as Query2 } from "@dxos/echo";
192
+ var stats = Command4.make("stats", {
193
+ spaceId: Common4.spaceId.pipe(Options4.optional)
194
+ }, () => Effect4.gen(function* () {
195
+ const { json } = yield* CommandConfig4;
196
+ const objects = yield* Database4.Service.runQuery(Query2.select(Filter4.everything()));
197
+ const stats2 = Function.pipe(objects, Array.groupBy((obj) => Obj2.getTypename(obj) ?? "<empty>"), Record.map((objs) => objs.length));
198
+ if (json) {
199
+ yield* Console4.log(JSON.stringify(stats2, null, 2));
200
+ } else {
201
+ const formatted = Record.toEntries(stats2).map(([typename, count]) => printStats(typename, count));
202
+ yield* Console4.log(printList2(formatted));
203
+ }
204
+ })).pipe(Command4.withDescription("Query objects."), Command4.provide(({ spaceId }) => spaceLayer4(spaceId, true)));
205
+
206
+ // src/cli/commands/database/index.ts
207
+ var database = Command5.make("database").pipe(Command5.withDescription("Database access."), Command5.withSubcommands([
208
+ add,
209
+ query,
210
+ remove,
211
+ stats
212
+ ]));
213
+
214
+ // src/cli/commands/queue/index.ts
215
+ import * as Command7 from "@effect/cli/Command";
216
+
217
+ // src/cli/commands/queue/query.ts
218
+ import * as Command6 from "@effect/cli/Command";
219
+ import * as Options5 from "@effect/cli/Options";
220
+ import * as Console5 from "effect/Console";
221
+ import * as Effect5 from "effect/Effect";
222
+ import * as Schema from "effect/Schema";
223
+ import { CommandConfig as CommandConfig5, printList as printList3 } from "@dxos/cli-util";
224
+ import { ClientService } from "@dxos/client";
225
+ import { DXN } from "@dxos/keys";
226
+
227
+ // src/cli/commands/queue/util.ts
228
+ import { FormBuilder as FormBuilder2 } from "@dxos/cli-util";
229
+ import { Entity as Entity2 } from "@dxos/echo";
230
+ var printQueueObject = (obj) => {
231
+ const typename = Entity2.getTypename(obj) ?? "<unknown>";
232
+ return FormBuilder2.make({
233
+ title: typename
234
+ }).pipe(FormBuilder2.set("id", obj.id), FormBuilder2.set("typename", typename), FormBuilder2.build);
235
+ };
236
+
237
+ // src/cli/commands/queue/query.ts
238
+ var DXNSchema = Schema.String.pipe(Schema.transform(Schema.instanceOf(DXN), {
239
+ decode: (value) => DXN.parse(value),
240
+ encode: (value) => value.toString()
241
+ }));
242
+ var query2 = Command6.make("query", {
243
+ dxn: Options5.text("dxn").pipe(Options5.withDescription("DXN of the queue."), Options5.withSchema(DXNSchema))
244
+ }, Effect5.fnUntraced(function* ({ dxn }) {
245
+ const { json } = yield* CommandConfig5;
246
+ const client = yield* ClientService;
247
+ const queue2 = yield* Effect5.promise(() => client.graph.createRefResolver({}).resolve(dxn));
248
+ const objects = yield* Effect5.promise(() => queue2.queryObjects());
249
+ if (json) {
250
+ yield* Console5.log(JSON.stringify(objects, null, 2));
251
+ } else {
252
+ const formatted = objects.map(printQueueObject);
253
+ yield* Console5.log(printList3(formatted));
254
+ }
255
+ })).pipe(Command6.withDescription("Query objects in a queue."));
256
+
257
+ // src/cli/commands/queue/index.ts
258
+ var queue = Command7.make("queue").pipe(Command7.withDescription("Manage queues."), Command7.withSubcommands([
259
+ query2
260
+ ]));
261
+
262
+ // src/cli/commands/space/index.ts
263
+ import * as Command19 from "@effect/cli/Command";
264
+
265
+ // src/cli/commands/space/close/close.ts
266
+ import * as Command8 from "@effect/cli/Command";
267
+ import * as Options6 from "@effect/cli/Options";
268
+ import * as Console6 from "effect/Console";
269
+ import * as Effect6 from "effect/Effect";
270
+ import { CommandConfig as CommandConfig6, Common as Common5, getSpace, waitForSync } from "@dxos/cli-util";
271
+ import { ClientService as ClientService2 } from "@dxos/client";
272
+ var handler2 = ({ spaceId }) => Effect6.gen(function* () {
273
+ const { json } = yield* CommandConfig6;
274
+ const client = yield* ClientService2;
275
+ const space2 = yield* getSpace(spaceId);
276
+ yield* Effect6.tryPromise(() => space2.db.flush({
277
+ indexes: true
278
+ }));
279
+ yield* waitForSync(space2);
280
+ yield* Effect6.tryPromise(() => space2.close());
281
+ if (json) {
282
+ yield* Console6.log(JSON.stringify({
283
+ success: true,
284
+ spaceId
285
+ }, null, 2));
286
+ } else {
287
+ yield* Console6.log(`Space ${spaceId} closed successfully.`);
288
+ }
289
+ });
290
+ var close = Command8.make("close", {
291
+ spaceId: Common5.spaceId.pipe(Options6.withDescription("Space ID to close."))
292
+ }, handler2).pipe(Command8.withDescription("Close a space."));
293
+
294
+ // src/cli/commands/space/create/create.ts
295
+ import * as Command9 from "@effect/cli/Command";
296
+ import * as Options7 from "@effect/cli/Options";
297
+ import * as Console7 from "effect/Console";
298
+ import * as Effect7 from "effect/Effect";
299
+ import * as Option4 from "effect/Option";
300
+ import { CommandConfig as CommandConfig7 } from "@dxos/cli-util";
301
+ import { print as print3, waitForSync as waitForSync2 } from "@dxos/cli-util";
302
+ import { FormBuilder as FormBuilder3 } from "@dxos/cli-util";
303
+ import { ClientService as ClientService3 } from "@dxos/client";
304
+ import { Obj as Obj3 } from "@dxos/echo";
305
+ var handler3 = Effect7.fn(function* ({ name }) {
306
+ const { json } = yield* CommandConfig7;
307
+ const client = yield* ClientService3;
308
+ const space2 = yield* Effect7.tryPromise(() => client.spaces.create());
309
+ yield* Effect7.tryPromise(() => space2.waitUntilReady());
310
+ if (Option4.isSome(name)) {
311
+ Obj3.change(space2.properties, (p) => {
312
+ p.name = Option4.getOrUndefined(name);
313
+ });
314
+ }
315
+ if (json) {
316
+ yield* Console7.log(JSON.stringify({
317
+ key: space2.key.toHex(),
318
+ ...space2.properties.name ? {
319
+ name: space2.properties.name
320
+ } : {}
321
+ }, null, 2));
322
+ } else {
323
+ const builder = FormBuilder3.make({
324
+ title: "Created Space"
325
+ }).pipe(FormBuilder3.set("key", space2.key.truncate()), FormBuilder3.set("name", space2.properties.name ?? "<none>"));
326
+ yield* Console7.log(print3(FormBuilder3.build(builder)));
327
+ }
328
+ yield* Effect7.tryPromise(() => space2.db.flush({
329
+ indexes: true
330
+ }));
331
+ yield* waitForSync2(space2);
332
+ });
333
+ var create = Command9.make("create", {
334
+ name: Options7.text("name").pipe(Options7.withDescription("The name of the space."), Options7.optional)
335
+ }, handler3).pipe(Command9.withDescription("Create a new space."));
336
+
337
+ // src/cli/commands/space/info/info.ts
338
+ import * as Command10 from "@effect/cli/Command";
339
+ import * as Options8 from "@effect/cli/Options";
340
+ import * as Console8 from "effect/Console";
341
+ import * as Effect8 from "effect/Effect";
342
+ import { CommandConfig as CommandConfig8, Common as Common6, formatSpace, getSpace as getSpace2, print as print4, printSpace, spaceIdWithDefault } from "@dxos/cli-util";
343
+ import { ClientService as ClientService4 } from "@dxos/client";
344
+ var handler4 = Effect8.fn(function* ({ spaceId }) {
345
+ const { json } = yield* CommandConfig8;
346
+ const client = yield* ClientService4;
347
+ const resolvedSpaceId = yield* spaceIdWithDefault(spaceId);
348
+ const space2 = yield* getSpace2(resolvedSpaceId);
349
+ const formatted = yield* formatSpace(space2);
350
+ if (json) {
351
+ yield* Console8.log(JSON.stringify(formatted, null, 2));
352
+ } else {
353
+ yield* Console8.log(print4(printSpace(formatted)));
354
+ }
355
+ });
356
+ var info = Command10.make("info", {
357
+ spaceId: Common6.spaceId.pipe(Options8.optional)
358
+ }, handler4).pipe(Command10.withDescription("Show space info."));
359
+
360
+ // src/cli/commands/space/join/join.ts
361
+ import * as Args from "@effect/cli/Args";
362
+ import * as Command11 from "@effect/cli/Command";
363
+ import * as Options9 from "@effect/cli/Options";
364
+ import * as Prompt2 from "@effect/cli/Prompt";
365
+ import * as Console9 from "effect/Console";
366
+ import * as Duration from "effect/Duration";
367
+ import * as Effect10 from "effect/Effect";
368
+ import * as Option5 from "effect/Option";
369
+ import { CommandConfig as CommandConfig9 } from "@dxos/cli-util";
370
+ import { print as print5, waitForSync as waitForSync3 } from "@dxos/cli-util";
371
+ import { FormBuilder as FormBuilder4 } from "@dxos/cli-util";
372
+ import { ClientService as ClientService5 } from "@dxos/client";
373
+
374
+ // src/cli/commands/space/join/util.ts
375
+ import * as Effect9 from "effect/Effect";
376
+ import * as Queue from "effect/Queue";
377
+ import { Invitation } from "@dxos/client/invitations";
378
+ import { runAndForwardErrors } from "@dxos/effect";
379
+ import { invariant } from "@dxos/invariant";
380
+ import { AlreadyJoinedError } from "@dxos/protocols";
381
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/cli/commands/space/join/util.ts";
382
+ var acceptInvitation = ({ observable, callbacks }) => Effect9.gen(function* () {
383
+ const doneQueue = yield* Queue.unbounded();
384
+ const runCallback = (effect) => {
385
+ if (effect) {
386
+ runAndForwardErrors(effect).catch(() => {
387
+ });
388
+ }
389
+ };
390
+ const subscription = observable.subscribe((invitation2) => {
391
+ switch (invitation2.state) {
392
+ case Invitation.State.CONNECTING: {
393
+ runCallback(callbacks?.onConnecting?.(invitation2));
394
+ break;
395
+ }
396
+ case Invitation.State.READY_FOR_AUTHENTICATION: {
397
+ if (invitation2.authMethod === Invitation.AuthMethod.SHARED_SECRET) {
398
+ const callbackEffect = callbacks?.onReadyForAuth?.(invitation2) ?? Effect9.succeed(void 0);
399
+ Effect9.gen(function* () {
400
+ const callbackResult = yield* callbackEffect;
401
+ const code = invitation2.authCode ?? callbackResult;
402
+ invariant(code, "No code provided", {
403
+ F: __dxlog_file,
404
+ L: 52,
405
+ S: this,
406
+ A: [
407
+ "code",
408
+ "'No code provided'"
409
+ ]
410
+ });
411
+ yield* Effect9.tryPromise(() => observable.authenticate(code));
412
+ }).pipe(runAndForwardErrors).catch(() => {
413
+ });
414
+ }
415
+ break;
416
+ }
417
+ case Invitation.State.SUCCESS: {
418
+ runCallback(callbacks?.onSuccess?.(invitation2));
419
+ runAndForwardErrors(Queue.offer(doneQueue, invitation2)).catch(() => {
420
+ });
421
+ break;
422
+ }
423
+ }
424
+ }, (err) => {
425
+ if (err instanceof AlreadyJoinedError) {
426
+ runAndForwardErrors(Queue.offer(doneQueue, observable.get())).catch(() => {
427
+ });
428
+ return;
429
+ }
430
+ throw err;
431
+ });
432
+ const invitation = yield* Queue.take(doneQueue);
433
+ subscription.unsubscribe();
434
+ return invitation;
435
+ });
436
+
437
+ // src/cli/commands/space/join/join.ts
438
+ var handler5 = Effect10.fn(function* ({ invitationCode, authCode }) {
439
+ const { json } = yield* CommandConfig9;
440
+ const client = yield* ClientService5;
441
+ let encoded = invitationCode;
442
+ if (encoded.startsWith("http") || encoded.startsWith("socket")) {
443
+ const searchProps = new URL(encoded).searchParams;
444
+ encoded = searchProps.get("spaceInvitationCode") ?? encoded;
445
+ }
446
+ const invitation = yield* acceptInvitation({
447
+ observable: client.spaces.join(encoded),
448
+ callbacks: {
449
+ onReadyForAuth: (invitation2) => {
450
+ if (Option5.isSome(authCode)) {
451
+ return Effect10.succeed(Option5.getOrUndefined(authCode) ?? void 0);
452
+ }
453
+ return Prompt2.text({
454
+ message: "Enter the authentication code"
455
+ }).pipe(Prompt2.run).pipe(Effect10.mapError(() => void 0)).pipe(Effect10.catchAll(() => Effect10.succeed(void 0)));
456
+ }
457
+ }
458
+ });
459
+ const spaceKey = invitation.spaceKey;
460
+ if (!spaceKey) {
461
+ if (json) {
462
+ yield* Console9.log(JSON.stringify({
463
+ error: "No space key in invitation"
464
+ }, null, 2));
465
+ } else {
466
+ yield* Console9.log("No space key in invitation.");
467
+ }
468
+ return;
469
+ }
470
+ let space2 = client.spaces.get(spaceKey);
471
+ if (!space2) {
472
+ const maxRetries = 5;
473
+ const retryDelays = [
474
+ 0.5,
475
+ 1,
476
+ 1.5,
477
+ 2,
478
+ 2.5
479
+ ].map((s) => Duration.seconds(s));
480
+ for (let i = 0; i < maxRetries; i++) {
481
+ yield* Effect10.sleep(retryDelays[i]);
482
+ space2 = client.spaces.get(spaceKey);
483
+ if (space2) {
484
+ break;
485
+ }
486
+ }
487
+ }
488
+ if (!space2) {
489
+ if (json) {
490
+ yield* Console9.log(JSON.stringify({
491
+ error: "Space not found after joining"
492
+ }, null, 2));
493
+ } else {
494
+ yield* Console9.log("Space not found after joining.");
495
+ }
496
+ return;
497
+ }
498
+ yield* Effect10.tryPromise(() => space2.db.flush({
499
+ indexes: true
500
+ }));
501
+ yield* waitForSync3(space2);
502
+ if (json) {
503
+ yield* Console9.log(JSON.stringify({
504
+ spaceId: space2.id,
505
+ state: space2.state.get()
506
+ }, null, 2));
507
+ } else {
508
+ const builder = FormBuilder4.make({
509
+ title: "Joined Space"
510
+ }).pipe(FormBuilder4.set("spaceId", space2.id), FormBuilder4.set("key", space2.key.truncate()), FormBuilder4.set("name", space2.properties.name ?? "<none>"));
511
+ yield* Console9.log(print5(FormBuilder4.build(builder)));
512
+ }
513
+ });
514
+ var join = Command11.make("join", {
515
+ invitationCode: Args.text({
516
+ name: "invitationCode"
517
+ }).pipe(Args.withDescription("The invitation code.")),
518
+ authCode: Options9.text("authCode").pipe(Options9.withDescription("The authentication code."), Options9.optional)
519
+ }, handler5).pipe(Command11.withDescription("Join a space via invitation."));
520
+
521
+ // src/cli/commands/space/list/list.ts
522
+ import * as Command12 from "@effect/cli/Command";
523
+ import * as Console10 from "effect/Console";
524
+ import * as Effect11 from "effect/Effect";
525
+ import { CommandConfig as CommandConfig10, formatSpace as formatSpace2, printSpace as printSpace2 } from "@dxos/cli-util";
526
+ import { printList as printList4 } from "@dxos/cli-util";
527
+ import { ClientService as ClientService6 } from "@dxos/client";
528
+ var handler6 = Effect11.fn(function* () {
529
+ const { json } = yield* CommandConfig10;
530
+ const client = yield* ClientService6;
531
+ const spaces = client.spaces.get();
532
+ const formattedSpaces = yield* Effect11.all(spaces.map(formatSpace2));
533
+ if (json) {
534
+ yield* Console10.log(JSON.stringify(formattedSpaces, null, 2));
535
+ } else {
536
+ const formatted = formattedSpaces.map(printSpace2);
537
+ yield* Console10.log(printList4(formatted));
538
+ }
539
+ });
540
+ var list = Command12.make("list", {}, handler6).pipe(Command12.withDescription("List all spaces available on this device."));
541
+
542
+ // src/cli/commands/space/members/members.ts
543
+ import * as Command13 from "@effect/cli/Command";
544
+ import * as Options10 from "@effect/cli/Options";
545
+ import * as Console11 from "effect/Console";
546
+ import * as Effect12 from "effect/Effect";
547
+ import { CommandConfig as CommandConfig11, Common as Common7, getSpace as getSpace3, printList as printList5, spaceIdWithDefault as spaceIdWithDefault2 } from "@dxos/cli-util";
548
+ import { ClientService as ClientService7 } from "@dxos/client";
549
+
550
+ // src/cli/commands/space/members/util.ts
551
+ import { FormBuilder as FormBuilder5 } from "@dxos/cli-util";
552
+ import { SpaceMember } from "@dxos/client/echo";
553
+ var maybeTruncateKey = (key, truncate = false) => truncate ? key.truncate() : key.toHex();
554
+ var mapMembers = (members2, truncateKeys = false) => {
555
+ return members2.map((member) => ({
556
+ key: maybeTruncateKey(member.identity.identityKey, truncateKeys),
557
+ name: member.identity.profile?.displayName,
558
+ presence: member.presence === SpaceMember.PresenceState.ONLINE ? "Online" : "Offline"
559
+ }));
560
+ };
561
+ var printMember = (member) => FormBuilder5.make({
562
+ title: member.identity.profile?.displayName ?? member.identity.identityKey.truncate()
563
+ }).pipe(FormBuilder5.set("identityKey", member.identity.identityKey.truncate()), FormBuilder5.set("displayName", member.identity.profile?.displayName ?? "<none>"), FormBuilder5.set("presence", member.presence === SpaceMember.PresenceState.ONLINE ? "Online" : "Offline"), FormBuilder5.build);
564
+ var printMembers = (members2) => {
565
+ return members2.map(printMember);
566
+ };
567
+
568
+ // src/cli/commands/space/members/members.ts
569
+ var handler7 = Effect12.fn(function* ({ spaceId }) {
570
+ const { json } = yield* CommandConfig11;
571
+ const client = yield* ClientService7;
572
+ const resolvedSpaceId = yield* spaceIdWithDefault2(spaceId);
573
+ const space2 = yield* getSpace3(resolvedSpaceId);
574
+ const members2 = space2.members.get();
575
+ if (json) {
576
+ yield* Console11.log(JSON.stringify(mapMembers(members2), null, 2));
577
+ } else {
578
+ const formatted = printMembers(members2);
579
+ yield* Console11.log(printList5(formatted));
580
+ }
581
+ });
582
+ var members = Command13.make("members", {
583
+ spaceId: Common7.spaceId.pipe(Options10.optional)
584
+ }, handler7).pipe(Command13.withDescription("List space members."));
585
+
586
+ // src/cli/commands/space/open/open.ts
587
+ import * as Command14 from "@effect/cli/Command";
588
+ import * as Options11 from "@effect/cli/Options";
589
+ import * as Console12 from "effect/Console";
590
+ import * as Effect13 from "effect/Effect";
591
+ import { CommandConfig as CommandConfig12, Common as Common8, getSpace as getSpace4, waitForSync as waitForSync4 } from "@dxos/cli-util";
592
+ import { ClientService as ClientService8 } from "@dxos/client";
593
+ var handler8 = ({ spaceId }) => Effect13.gen(function* () {
594
+ const { json } = yield* CommandConfig12;
595
+ const client = yield* ClientService8;
596
+ const space2 = yield* getSpace4(spaceId);
597
+ yield* Effect13.tryPromise(() => space2.open());
598
+ yield* Effect13.tryPromise(() => space2.db.flush({
599
+ indexes: true
600
+ }));
601
+ yield* waitForSync4(space2);
602
+ if (json) {
603
+ yield* Console12.log(JSON.stringify({
604
+ success: true,
605
+ spaceId
606
+ }, null, 2));
607
+ } else {
608
+ yield* Console12.log(`Space ${spaceId} opened successfully.`);
609
+ }
610
+ });
611
+ var open = Command14.make("open", {
612
+ spaceId: Common8.spaceId.pipe(Options11.withDescription("Space ID to open."))
613
+ }, handler8).pipe(Command14.withDescription("Open a space."));
614
+
615
+ // src/cli/commands/space/schema/index.ts
616
+ import * as Command16 from "@effect/cli/Command";
617
+
618
+ // src/cli/commands/space/schema/list/list.ts
619
+ import * as Command15 from "@effect/cli/Command";
620
+ import * as Options12 from "@effect/cli/Options";
621
+ import * as Console13 from "effect/Console";
622
+ import * as Effect14 from "effect/Effect";
623
+ import * as Option6 from "effect/Option";
624
+ import { CommandConfig as CommandConfig13, Common as Common9, getSpace as getSpace5, printList as printList6, spaceIdWithDefault as spaceIdWithDefault3 } from "@dxos/cli-util";
625
+ import { ClientService as ClientService9 } from "@dxos/client";
626
+ import { getTypeAnnotation as getTypeAnnotation2 } from "@dxos/echo/internal";
627
+
628
+ // src/cli/commands/space/schema/list/util.ts
629
+ import { FormBuilder as FormBuilder6 } from "@dxos/cli-util";
630
+ var mapSchemas = (schemas) => {
631
+ return schemas.map((schema2) => ({
632
+ id: schema2.id,
633
+ typename: schema2.typename,
634
+ version: schema2.version
635
+ }));
636
+ };
637
+ var printSchema = (schema2) => FormBuilder6.make({
638
+ title: schema2.typename
639
+ }).pipe(FormBuilder6.set("id", schema2.id ?? "<none>"), FormBuilder6.set("typename", schema2.typename), FormBuilder6.set("version", schema2.version), FormBuilder6.build);
640
+ var printSchemas = (schemas) => {
641
+ return schemas.map(printSchema);
642
+ };
643
+ var createTypenameFilter = (typenameFilter) => {
644
+ if (!typenameFilter) {
645
+ return () => true;
646
+ }
647
+ return (schema2) => schema2.typename.toLowerCase().includes(typenameFilter.toLowerCase());
648
+ };
649
+
650
+ // src/cli/commands/space/schema/list/list.ts
651
+ var handler9 = Effect14.fn(function* ({ spaceId, typename }) {
652
+ const { json } = yield* CommandConfig13;
653
+ const client = yield* ClientService9;
654
+ const resolvedSpaceId = yield* spaceIdWithDefault3(spaceId);
655
+ const space2 = yield* getSpace5(resolvedSpaceId);
656
+ const echoSchema = yield* Effect14.tryPromise(() => space2.db.schemaRegistry.query().run());
657
+ const runtimeSchema = space2.internal.db.graph.schemaRegistry.schemas;
658
+ const schemas = [
659
+ ...echoSchema.map((schema2) => ({
660
+ id: schema2.id,
661
+ typename: schema2.typename,
662
+ version: schema2.version
663
+ })),
664
+ ...runtimeSchema.map((schema2) => {
665
+ const schemaAnnotation = getTypeAnnotation2(schema2);
666
+ return {
667
+ typename: schemaAnnotation.typename,
668
+ version: schemaAnnotation.version
669
+ };
670
+ })
671
+ ].filter(createTypenameFilter(Option6.getOrUndefined(typename)));
672
+ if (json) {
673
+ yield* Console13.log(JSON.stringify(mapSchemas(schemas), null, 2));
674
+ } else {
675
+ const formatted = printSchemas(schemas);
676
+ yield* Console13.log(printList6(formatted));
677
+ }
678
+ });
679
+ var list2 = Command15.make("list", {
680
+ spaceId: Common9.spaceId.pipe(Options12.optional),
681
+ typename: Options12.text("typename").pipe(Options12.withDescription("Filter schemas by typename."), Options12.optional)
682
+ }, handler9).pipe(Command15.withDescription("List space schemas."));
683
+
684
+ // src/cli/commands/space/schema/index.ts
685
+ var schema = Command16.make("schema").pipe(Command16.withDescription("Manage space schemas."), Command16.withSubcommands([
686
+ list2
687
+ ]));
688
+
689
+ // src/cli/commands/space/share/share.ts
690
+ import * as Command17 from "@effect/cli/Command";
691
+ import * as Options13 from "@effect/cli/Options";
692
+ import * as Console14 from "effect/Console";
693
+ import * as Effect15 from "effect/Effect";
694
+ import { CommandConfig as CommandConfig14, Common as Common10, copyToClipboard, getSpace as getSpace6, openBrowser, print as print6, spaceIdWithDefault as spaceIdWithDefault4 } from "@dxos/cli-util";
695
+ import { FormBuilder as FormBuilder7 } from "@dxos/cli-util";
696
+ import { ClientService as ClientService10 } from "@dxos/client";
697
+ import { Invitation as Invitation2, InvitationEncoder, hostInvitation } from "@dxos/client/invitations";
698
+ var handler10 = Effect15.fn(function* ({ spaceId, multiple, open: open2, host }) {
699
+ const { json } = yield* CommandConfig14;
700
+ const client = yield* ClientService10;
701
+ const resolvedSpaceId = yield* spaceIdWithDefault4(spaceId);
702
+ const space2 = yield* getSpace6(resolvedSpaceId);
703
+ const observable = space2.share({
704
+ authMethod: Invitation2.AuthMethod.SHARED_SECRET,
705
+ persistent: true,
706
+ multiUse: multiple
707
+ });
708
+ const invitation = yield* hostInvitation({
709
+ observable,
710
+ callbacks: {
711
+ onConnecting: (invitation2) => Effect15.gen(function* () {
712
+ const invitationCode = InvitationEncoder.encode(invitation2);
713
+ const authCode = invitation2.authCode;
714
+ yield* copyToClipboard(authCode).pipe(Effect15.catchAll(() => Effect15.void));
715
+ if (!json) {
716
+ yield* Console14.log(`
717
+ Secret: ${authCode} (copied to clipboard)
718
+ `);
719
+ }
720
+ if (open2) {
721
+ const url = new URL(host);
722
+ url.searchParams.append("spaceInvitationCode", invitationCode);
723
+ yield* openBrowser(url.toString()).pipe(Effect15.catchAll(() => Effect15.void));
724
+ } else if (!json) {
725
+ yield* Console14.log(`
726
+ Invitation: ${invitationCode}
727
+ `);
728
+ }
729
+ })
730
+ },
731
+ waitForSuccess: true
732
+ });
733
+ if (json) {
734
+ yield* Console14.log(JSON.stringify({
735
+ invitationCode: InvitationEncoder.encode(invitation),
736
+ authCode: invitation.authCode,
737
+ state: Invitation2.State[invitation.state]
738
+ }, null, 2));
739
+ } else {
740
+ const builder = FormBuilder7.make({
741
+ title: "Space Invitation"
742
+ }).pipe(FormBuilder7.set("invitationCode", InvitationEncoder.encode(invitation)), FormBuilder7.set("authCode", invitation.authCode ?? "<none>"), FormBuilder7.set("state", Invitation2.State[invitation.state]));
743
+ yield* Console14.log(print6(FormBuilder7.build(builder)));
744
+ }
745
+ });
746
+ var share = Command17.make("share", {
747
+ spaceId: Common10.spaceId.pipe(Options13.optional),
748
+ multiple: Options13.boolean("multiple", {
749
+ ifPresent: true
750
+ }).pipe(Options13.withDescription("Create a multi-use invitation.")),
751
+ open: Options13.boolean("open", {
752
+ ifPresent: true
753
+ }).pipe(Options13.withDescription("Open browser with invitation.")),
754
+ host: Options13.text("host").pipe(Options13.withDescription("Application Host URL."), Options13.withDefault("https://composer.space"))
755
+ }, handler10).pipe(Command17.withDescription("Create space invitation."));
756
+
757
+ // src/cli/commands/space/sync/sync.ts
758
+ import * as Command18 from "@effect/cli/Command";
759
+ import * as Options14 from "@effect/cli/Options";
760
+ import * as Duration2 from "effect/Duration";
761
+ import * as Effect16 from "effect/Effect";
762
+ import * as Schedule from "effect/Schedule";
763
+ import { Common as Common11, getSpace as getSpace7, spaceIdWithDefault as spaceIdWithDefault5, waitForSync as waitForSync5, withTimeout } from "@dxos/cli-util";
764
+ var sync = Command18.make("sync", {
765
+ spaceId: Common11.spaceId.pipe(Options14.optional),
766
+ spaceTimeout: Options14.integer("spaceTimeout").pipe(Options14.withDescription("The timeout to wait for the space to be available in milliseconds."), Options14.withDefault(5e3))
767
+ }, ({ spaceId, spaceTimeout }) => Effect16.gen(function* () {
768
+ const resolvedSpaceId = yield* spaceIdWithDefault5(spaceId);
769
+ const space2 = yield* getSpace7(resolvedSpaceId).pipe(Effect16.retry(Schedule.fixed("100 millis")), Effect16.timeout(Duration2.millis(spaceTimeout)));
770
+ yield* waitForSync5(space2);
771
+ }).pipe(withTimeout)).pipe(Command18.withDescription("Wait for a space to be fully synchronized with EDGE."));
772
+
773
+ // src/cli/commands/space/index.ts
774
+ var space = Command19.make("space").pipe(Command19.withDescription("Manage ECHO spaces."), Command19.withSubcommands([
775
+ close,
776
+ create,
777
+ info,
778
+ join,
779
+ list,
780
+ members,
781
+ open,
782
+ schema,
783
+ share,
784
+ sync
785
+ ]));
786
+
787
+ // src/cli/plugin.ts
788
+ var SpacePlugin = Plugin2.define(meta).pipe(
789
+ // TODO(wittjosiah): Could some of these commands make use of operations?
790
+ Common12.Plugin.addCommandModule({
791
+ commands: [
792
+ database,
793
+ queue,
794
+ space
795
+ ]
796
+ }),
797
+ Common12.Plugin.addSchemaModule({
798
+ schema: [
799
+ ...DataTypes,
800
+ AnchoredTo.AnchoredTo,
801
+ Employer.Employer,
802
+ Event.Event,
803
+ HasConnection.HasConnection,
804
+ HasRelationship.HasRelationship,
805
+ HasSubject.HasSubject,
806
+ Organization.Organization,
807
+ Person.Person,
808
+ Project.Project,
809
+ Tag.Tag,
810
+ Task.Task
811
+ ]
812
+ }),
813
+ Common12.Plugin.addMetadataModule({
814
+ metadata: {
815
+ id: Collection2.Collection.typename,
816
+ metadata: {
817
+ createObject: (props) => Effect17.sync(() => Collection2.make(props)),
818
+ addToCollectionOnCreate: true
819
+ }
820
+ }
821
+ }),
822
+ Plugin2.addModule(({ invitationUrl = "http://localhost:5173", invitationProp = "spaceInvitationCode" }) => {
823
+ const createInvitationUrl = (invitationCode) => {
824
+ const baseUrl = new URL(invitationUrl);
825
+ baseUrl.searchParams.set(invitationProp, invitationCode);
826
+ return baseUrl.toString();
827
+ };
828
+ return {
829
+ id: Capability.getModuleTag(OperationResolver),
830
+ activatesOn: Common12.ActivationEvent.SetupOperationResolver,
831
+ activate: () => OperationResolver({
832
+ createInvitationUrl,
833
+ observability: false
834
+ })
835
+ };
836
+ }),
837
+ Plugin2.addModule({
838
+ activatesOn: ClientEvents.IdentityCreated,
839
+ activatesAfter: [
840
+ SpaceEvents.DefaultSpaceReady
841
+ ],
842
+ activate: IdentityCreated
843
+ }),
844
+ Plugin2.make
845
+ );
846
+ export {
847
+ SpacePlugin
848
+ };
849
+ //# sourceMappingURL=index.mjs.map