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