@dxos/plugin-client 0.8.4-main.72ec0f3 → 0.8.4-main.8360d9e660

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 (471) hide show
  1. package/dist/lib/browser/DevicesContainer-3N7ANEJ7.mjs +268 -0
  2. package/dist/lib/browser/DevicesContainer-3N7ANEJ7.mjs.map +7 -0
  3. package/dist/lib/browser/JoinDialog-VTTK7NHO.mjs +59 -0
  4. package/dist/lib/browser/JoinDialog-VTTK7NHO.mjs.map +7 -0
  5. package/dist/lib/browser/ProfileContainer-XV7OXJC2.mjs +171 -0
  6. package/dist/lib/browser/ProfileContainer-XV7OXJC2.mjs.map +7 -0
  7. package/dist/lib/browser/RecoveryCodeDialog-WO34OZEJ.mjs +60 -0
  8. package/dist/lib/browser/RecoveryCodeDialog-WO34OZEJ.mjs.map +7 -0
  9. package/dist/lib/browser/RecoveryCredentialsContainer-G22FSTIX.mjs +57 -0
  10. package/dist/lib/browser/RecoveryCredentialsContainer-G22FSTIX.mjs.map +7 -0
  11. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs +52 -0
  12. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs.map +7 -0
  13. package/dist/lib/browser/app-graph-builder-GGJKFY3X.mjs +121 -0
  14. package/dist/lib/browser/app-graph-builder-GGJKFY3X.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-ESDYRACB.mjs +18 -0
  16. package/dist/lib/browser/chunk-ESDYRACB.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-FVEKZBM7.mjs +283 -0
  18. package/dist/lib/browser/chunk-FVEKZBM7.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-HSFDKP5D.mjs +15 -0
  20. package/dist/lib/browser/chunk-HSFDKP5D.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-ZRVMXLDR.mjs → chunk-JHSBBOCI.mjs} +2 -2
  22. package/dist/lib/browser/chunk-JHSBBOCI.mjs.map +7 -0
  23. package/dist/lib/browser/cli/index.mjs +1059 -0
  24. package/dist/lib/browser/cli/index.mjs.map +7 -0
  25. package/dist/lib/browser/client-MM3BHCWG.mjs +92 -0
  26. package/dist/lib/browser/client-MM3BHCWG.mjs.map +7 -0
  27. package/dist/lib/browser/index.mjs +77 -84
  28. package/dist/lib/browser/index.mjs.map +4 -4
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/migrations-GKUA2ARL.mjs +25 -0
  31. package/dist/lib/browser/migrations-GKUA2ARL.mjs.map +7 -0
  32. package/dist/lib/browser/operation-resolver-VSWA74RS.mjs +299 -0
  33. package/dist/lib/browser/operation-resolver-VSWA74RS.mjs.map +7 -0
  34. package/dist/lib/browser/react-context-GZ3T5UON.mjs +26 -0
  35. package/dist/lib/browser/react-context-GZ3T5UON.mjs.map +7 -0
  36. package/dist/lib/browser/react-surface-5VZP34X3.mjs +77 -0
  37. package/dist/lib/browser/react-surface-5VZP34X3.mjs.map +7 -0
  38. package/dist/lib/browser/schema-defs-KAG6HQMI.mjs +28 -0
  39. package/dist/lib/browser/schema-defs-KAG6HQMI.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +10 -4
  41. package/dist/lib/node-esm/DevicesContainer-V7HEUPO7.mjs +269 -0
  42. package/dist/lib/node-esm/DevicesContainer-V7HEUPO7.mjs.map +7 -0
  43. package/dist/lib/node-esm/JoinDialog-XVKW4SLT.mjs +60 -0
  44. package/dist/lib/node-esm/JoinDialog-XVKW4SLT.mjs.map +7 -0
  45. package/dist/lib/node-esm/ProfileContainer-B5LJ6TMU.mjs +172 -0
  46. package/dist/lib/node-esm/ProfileContainer-B5LJ6TMU.mjs.map +7 -0
  47. package/dist/lib/node-esm/RecoveryCodeDialog-YIRGXM7N.mjs +61 -0
  48. package/dist/lib/node-esm/RecoveryCodeDialog-YIRGXM7N.mjs.map +7 -0
  49. package/dist/lib/node-esm/RecoveryCredentialsContainer-MVJEFNXX.mjs +58 -0
  50. package/dist/lib/node-esm/RecoveryCredentialsContainer-MVJEFNXX.mjs.map +7 -0
  51. package/dist/lib/node-esm/ResetDialog-GGBWSQZO.mjs +54 -0
  52. package/dist/lib/node-esm/ResetDialog-GGBWSQZO.mjs.map +7 -0
  53. package/dist/lib/node-esm/app-graph-builder-PTNZ46NN.mjs +122 -0
  54. package/dist/lib/node-esm/app-graph-builder-PTNZ46NN.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-QT3EQXDU.mjs → chunk-BOTJSPCT.mjs} +2 -2
  56. package/dist/lib/node-esm/chunk-BOTJSPCT.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-DT2ZNOGU.mjs +284 -0
  58. package/dist/lib/node-esm/chunk-DT2ZNOGU.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-OIJ5QGFQ.mjs +20 -0
  60. package/dist/lib/node-esm/chunk-OIJ5QGFQ.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs +16 -0
  62. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs.map +7 -0
  63. package/dist/lib/node-esm/cli/index.mjs +1060 -0
  64. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  65. package/dist/lib/node-esm/client-24L47Y2G.mjs +93 -0
  66. package/dist/lib/node-esm/client-24L47Y2G.mjs.map +7 -0
  67. package/dist/lib/node-esm/index.mjs +77 -84
  68. package/dist/lib/node-esm/index.mjs.map +4 -4
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/migrations-4NEKCBGU.mjs +26 -0
  71. package/dist/lib/node-esm/migrations-4NEKCBGU.mjs.map +7 -0
  72. package/dist/lib/node-esm/operation-resolver-4GWB3YZG.mjs +300 -0
  73. package/dist/lib/node-esm/operation-resolver-4GWB3YZG.mjs.map +7 -0
  74. package/dist/lib/node-esm/{react-context-F4QOBWSP.mjs → react-context-T2ORT5CC.mjs} +9 -8
  75. package/dist/lib/node-esm/react-context-T2ORT5CC.mjs.map +7 -0
  76. package/dist/lib/node-esm/react-surface-B65OUZYI.mjs +78 -0
  77. package/dist/lib/node-esm/react-surface-B65OUZYI.mjs.map +7 -0
  78. package/dist/lib/node-esm/schema-defs-GXQ47JZN.mjs +29 -0
  79. package/dist/lib/node-esm/schema-defs-GXQ47JZN.mjs.map +7 -0
  80. package/dist/lib/node-esm/types/index.mjs +10 -4
  81. package/dist/types/src/ClientPlugin.d.ts +2 -1
  82. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  84. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  86. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/client/client.d.ts +8 -0
  88. package/dist/types/src/capabilities/client/client.d.ts.map +1 -0
  89. package/dist/types/src/capabilities/client/index.d.ts +18 -0
  90. package/dist/types/src/capabilities/client/index.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/index.d.ts +7 -19
  92. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/migrations/index.d.ts +3 -0
  94. package/dist/types/src/capabilities/migrations/index.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/migrations/migrations.d.ts +5 -0
  96. package/dist/types/src/capabilities/migrations/migrations.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/operation-resolver/index.d.ts +5 -0
  98. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +8 -0
  100. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
  102. package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
  104. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  106. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +9 -0
  108. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/schema-defs/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/schema-defs/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts +5 -0
  112. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +1 -0
  113. package/dist/types/src/cli/commands/config/index.d.ts +5 -0
  114. package/dist/types/src/cli/commands/config/index.d.ts.map +1 -0
  115. package/dist/types/src/cli/commands/config/view.d.ts +5 -0
  116. package/dist/types/src/cli/commands/config/view.d.ts.map +1 -0
  117. package/dist/types/src/cli/commands/device/index.d.ts +7 -0
  118. package/dist/types/src/cli/commands/device/index.d.ts.map +1 -0
  119. package/dist/types/src/cli/commands/device/info/index.d.ts +2 -0
  120. package/dist/types/src/cli/commands/device/info/index.d.ts.map +1 -0
  121. package/dist/types/src/cli/commands/device/info/info.d.ts +7 -0
  122. package/dist/types/src/cli/commands/device/info/info.d.ts.map +1 -0
  123. package/dist/types/src/cli/commands/device/info/info.test.d.ts +2 -0
  124. package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +1 -0
  125. package/dist/types/src/cli/commands/device/list/index.d.ts +2 -0
  126. package/dist/types/src/cli/commands/device/list/index.d.ts.map +1 -0
  127. package/dist/types/src/cli/commands/device/list/list.d.ts +7 -0
  128. package/dist/types/src/cli/commands/device/list/list.d.ts.map +1 -0
  129. package/dist/types/src/cli/commands/device/list/list.test.d.ts +2 -0
  130. package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +1 -0
  131. package/dist/types/src/cli/commands/device/update/index.d.ts +2 -0
  132. package/dist/types/src/cli/commands/device/update/index.d.ts.map +1 -0
  133. package/dist/types/src/cli/commands/device/update/update.d.ts +11 -0
  134. package/dist/types/src/cli/commands/device/update/update.d.ts.map +1 -0
  135. package/dist/types/src/cli/commands/device/util.d.ts +16 -0
  136. package/dist/types/src/cli/commands/device/util.d.ts.map +1 -0
  137. package/dist/types/src/cli/commands/edge/index.d.ts +5 -0
  138. package/dist/types/src/cli/commands/edge/index.d.ts.map +1 -0
  139. package/dist/types/src/cli/commands/edge/status.d.ts +7 -0
  140. package/dist/types/src/cli/commands/edge/status.d.ts.map +1 -0
  141. package/dist/types/src/cli/commands/halo/create/create.d.ts +15 -0
  142. package/dist/types/src/cli/commands/halo/create/create.d.ts.map +1 -0
  143. package/dist/types/src/cli/commands/halo/create/create.test.d.ts +2 -0
  144. package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/halo/create/index.d.ts +2 -0
  146. package/dist/types/src/cli/commands/halo/create/index.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts +13 -0
  148. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts +2 -0
  150. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/halo/credential/index.d.ts +12 -0
  152. package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts +2 -0
  154. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts +19 -0
  156. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts +2 -0
  158. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/halo/identity/identity.d.ts +7 -0
  160. package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts +2 -0
  162. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/halo/identity/index.d.ts +2 -0
  164. package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/halo/index.d.ts +3 -0
  166. package/dist/types/src/cli/commands/halo/index.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/halo/join/index.d.ts +2 -0
  168. package/dist/types/src/cli/commands/halo/join/index.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/halo/join/join.d.ts +8 -0
  170. package/dist/types/src/cli/commands/halo/join/join.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/halo/join/join.test.d.ts +2 -0
  172. package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/halo/keys/index.d.ts +2 -0
  174. package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/halo/keys/keys.d.ts +7 -0
  176. package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts +2 -0
  178. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/halo/recover/index.d.ts +2 -0
  180. package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/halo/recover/recover.d.ts +7 -0
  182. package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts +2 -0
  184. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/halo/seed/index.d.ts +2 -0
  186. package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/halo/seed/seed.d.ts +7 -0
  188. package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/halo/share/index.d.ts +2 -0
  190. package/dist/types/src/cli/commands/halo/share/index.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/halo/share/share.d.ts +15 -0
  192. package/dist/types/src/cli/commands/halo/share/share.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/halo/update/index.d.ts +2 -0
  194. package/dist/types/src/cli/commands/halo/update/index.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/halo/update/update.d.ts +11 -0
  196. package/dist/types/src/cli/commands/halo/update/update.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/halo/update/update.test.d.ts +2 -0
  198. package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/halo/util.d.ts +13 -0
  200. package/dist/types/src/cli/commands/halo/util.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/index.d.ts +6 -0
  202. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/profile/create.d.ts +10 -0
  204. package/dist/types/src/cli/commands/profile/create.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/profile/delete.d.ts +8 -0
  206. package/dist/types/src/cli/commands/profile/delete.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/profile/import.d.ts +17 -0
  208. package/dist/types/src/cli/commands/profile/import.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/profile/index.d.ts +19 -0
  210. package/dist/types/src/cli/commands/profile/index.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/profile/inspect.d.ts +13 -0
  212. package/dist/types/src/cli/commands/profile/inspect.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/profile/list.d.ts +6 -0
  214. package/dist/types/src/cli/commands/profile/list.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/profile/reset.d.ts +8 -0
  216. package/dist/types/src/cli/commands/profile/reset.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/profile/util.d.ts +24 -0
  218. package/dist/types/src/cli/commands/profile/util.d.ts.map +1 -0
  219. package/dist/types/src/cli/index.d.ts +2 -0
  220. package/dist/types/src/cli/index.d.ts.map +1 -0
  221. package/dist/types/src/cli/plugin.d.ts +4 -0
  222. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  223. package/dist/types/src/cli/testing/test-console.d.ts +37 -0
  224. package/dist/types/src/cli/testing/test-console.d.ts.map +1 -0
  225. package/dist/types/src/components/index.d.ts +0 -6
  226. package/dist/types/src/components/index.d.ts.map +1 -1
  227. package/dist/types/src/constants.d.ts +4 -0
  228. package/dist/types/src/constants.d.ts.map +1 -0
  229. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -0
  230. package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.stories.d.ts +10 -54
  231. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -0
  232. package/dist/types/src/containers/DevicesContainer/index.d.ts +3 -0
  233. package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -0
  234. package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -1
  235. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  236. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  237. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  238. package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts.map +1 -0
  239. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +14 -0
  240. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -0
  241. package/dist/types/src/containers/ProfileContainer/index.d.ts +3 -0
  242. package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -0
  243. package/dist/types/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.d.ts +0 -1
  244. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -0
  245. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts +16 -0
  246. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -0
  247. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts +4 -0
  248. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -0
  249. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -0
  250. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +14 -0
  251. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -0
  252. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +3 -0
  253. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +9 -0
  255. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -0
  256. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +19 -0
  257. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -0
  258. package/dist/types/src/containers/ResetDialog/index.d.ts +4 -0
  259. package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/containers/index.d.ts +10 -0
  261. package/dist/types/src/containers/index.d.ts.map +1 -0
  262. package/dist/types/src/index.d.ts +1 -2
  263. package/dist/types/src/index.d.ts.map +1 -1
  264. package/dist/types/src/meta.d.ts +2 -2
  265. package/dist/types/src/meta.d.ts.map +1 -1
  266. package/dist/types/src/translations.d.ts +2 -48
  267. package/dist/types/src/translations.d.ts.map +1 -1
  268. package/dist/types/src/types/capabilities.d.ts +10 -0
  269. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  270. package/dist/types/src/types/events.d.ts +9 -0
  271. package/dist/types/src/types/events.d.ts.map +1 -0
  272. package/dist/types/src/types/index.d.ts +2 -0
  273. package/dist/types/src/types/index.d.ts.map +1 -1
  274. package/dist/types/src/types/schema.d.ts +189 -31
  275. package/dist/types/src/types/schema.d.ts.map +1 -1
  276. package/dist/types/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +54 -38
  278. package/src/ClientPlugin.ts +45 -55
  279. package/src/capabilities/app-graph-builder/app-graph-builder.ts +96 -0
  280. package/src/capabilities/app-graph-builder/index.ts +7 -0
  281. package/src/capabilities/client/client.ts +78 -0
  282. package/src/capabilities/client/index.ts +7 -0
  283. package/src/capabilities/index.ts +7 -11
  284. package/src/capabilities/migrations/index.ts +7 -0
  285. package/src/capabilities/migrations/migrations.ts +30 -0
  286. package/src/capabilities/operation-resolver/index.ts +7 -0
  287. package/src/capabilities/operation-resolver/operation-resolver.ts +249 -0
  288. package/src/capabilities/react-context/index.ts +7 -0
  289. package/src/capabilities/react-context/react-context.tsx +25 -0
  290. package/src/capabilities/react-surface/index.ts +7 -0
  291. package/src/capabilities/react-surface/react-surface.tsx +74 -0
  292. package/src/capabilities/schema-defs/index.ts +7 -0
  293. package/src/capabilities/schema-defs/schema-defs.ts +36 -0
  294. package/src/cli/commands/config/index.ts +12 -0
  295. package/src/cli/commands/config/view.ts +26 -0
  296. package/src/cli/commands/device/index.ts +14 -0
  297. package/src/cli/commands/device/info/index.ts +5 -0
  298. package/src/cli/commands/device/info/info.test.ts +29 -0
  299. package/src/cli/commands/device/info/info.ts +50 -0
  300. package/src/cli/commands/device/list/index.ts +5 -0
  301. package/src/cli/commands/device/list/list.test.ts +31 -0
  302. package/src/cli/commands/device/list/list.ts +30 -0
  303. package/src/cli/commands/device/update/index.ts +5 -0
  304. package/src/cli/commands/device/update/update.ts +70 -0
  305. package/src/cli/commands/device/util.ts +55 -0
  306. package/src/cli/commands/edge/index.ts +12 -0
  307. package/src/cli/commands/edge/status.ts +45 -0
  308. package/src/cli/commands/halo/create/create.test.ts +52 -0
  309. package/src/cli/commands/halo/create/create.ts +75 -0
  310. package/src/cli/commands/halo/create/index.ts +5 -0
  311. package/src/cli/commands/halo/credential/add/add.ts +97 -0
  312. package/src/cli/commands/halo/credential/add/index.ts +5 -0
  313. package/src/cli/commands/halo/credential/index.ts +13 -0
  314. package/src/cli/commands/halo/credential/list/index.ts +5 -0
  315. package/src/cli/commands/halo/credential/list/list.test.ts +28 -0
  316. package/src/cli/commands/halo/credential/list/list.ts +118 -0
  317. package/src/cli/commands/halo/identity/identity.test.ts +40 -0
  318. package/src/cli/commands/halo/identity/identity.ts +46 -0
  319. package/src/cli/commands/halo/identity/index.ts +5 -0
  320. package/src/cli/commands/halo/index.ts +21 -0
  321. package/src/cli/commands/halo/join/index.ts +5 -0
  322. package/src/cli/commands/halo/join/join.test.ts +10 -0
  323. package/src/cli/commands/halo/join/join.ts +87 -0
  324. package/src/cli/commands/halo/keys/index.ts +5 -0
  325. package/src/cli/commands/halo/keys/keys.test.ts +29 -0
  326. package/src/cli/commands/halo/keys/keys.ts +42 -0
  327. package/src/cli/commands/halo/recover/index.ts +5 -0
  328. package/src/cli/commands/halo/recover/recover.test.ts +10 -0
  329. package/src/cli/commands/halo/recover/recover.ts +44 -0
  330. package/src/cli/commands/halo/seed/index.ts +5 -0
  331. package/src/cli/commands/halo/seed/seed.ts +38 -0
  332. package/src/cli/commands/halo/share/index.ts +5 -0
  333. package/src/cli/commands/halo/share/share.ts +97 -0
  334. package/src/cli/commands/halo/update/index.ts +5 -0
  335. package/src/cli/commands/halo/update/update.test.ts +29 -0
  336. package/src/cli/commands/halo/update/update.ts +69 -0
  337. package/src/cli/commands/halo/util.ts +18 -0
  338. package/src/cli/commands/index.ts +9 -0
  339. package/src/cli/commands/profile/create.ts +90 -0
  340. package/src/cli/commands/profile/delete.ts +36 -0
  341. package/src/cli/commands/profile/import.ts +101 -0
  342. package/src/cli/commands/profile/index.ts +17 -0
  343. package/src/cli/commands/profile/inspect.ts +64 -0
  344. package/src/cli/commands/profile/list.ts +56 -0
  345. package/src/cli/commands/profile/reset.ts +45 -0
  346. package/src/cli/commands/profile/util.ts +48 -0
  347. package/src/cli/index.ts +5 -0
  348. package/src/cli/plugin.ts +34 -0
  349. package/src/cli/testing/test-console.ts +88 -0
  350. package/src/components/index.ts +0 -7
  351. package/src/constants.ts +9 -0
  352. package/src/{components → containers/DevicesContainer}/DevicesContainer.stories.tsx +14 -10
  353. package/src/{components → containers/DevicesContainer}/DevicesContainer.tsx +59 -66
  354. package/src/containers/DevicesContainer/index.ts +7 -0
  355. package/src/containers/JoinDialog/JoinDialog.tsx +53 -0
  356. package/src/containers/JoinDialog/index.ts +7 -0
  357. package/src/{components → containers/ProfileContainer}/ProfileContainer.stories.tsx +4 -4
  358. package/src/{components → containers/ProfileContainer}/ProfileContainer.tsx +65 -54
  359. package/src/containers/ProfileContainer/index.ts +7 -0
  360. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.stories.tsx +4 -4
  361. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.tsx +28 -27
  362. package/src/containers/RecoveryCodeDialog/index.ts +8 -0
  363. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +46 -0
  364. package/src/{components → containers/RecoveryCredentialsContainer}/RecoveryCredentialsContainer.tsx +22 -23
  365. package/src/containers/RecoveryCredentialsContainer/index.ts +7 -0
  366. package/src/containers/ResetDialog/ResetDialog.stories.tsx +73 -0
  367. package/src/containers/ResetDialog/ResetDialog.tsx +50 -0
  368. package/src/containers/ResetDialog/index.ts +8 -0
  369. package/src/containers/index.ts +15 -0
  370. package/src/index.ts +1 -2
  371. package/src/meta.ts +3 -3
  372. package/src/translations.ts +6 -3
  373. package/src/types/capabilities.ts +16 -0
  374. package/src/types/events.ts +15 -0
  375. package/src/types/index.ts +2 -0
  376. package/src/types/schema.ts +137 -19
  377. package/dist/lib/browser/app-graph-builder-ARY4H3VC.mjs +0 -124
  378. package/dist/lib/browser/app-graph-builder-ARY4H3VC.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-4G4YWIUQ.mjs +0 -686
  380. package/dist/lib/browser/chunk-4G4YWIUQ.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-4LRO3Y2O.mjs +0 -19
  382. package/dist/lib/browser/chunk-4LRO3Y2O.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-N5UR2HOE.mjs +0 -18
  384. package/dist/lib/browser/chunk-N5UR2HOE.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-RDIG75CA.mjs +0 -110
  386. package/dist/lib/browser/chunk-RDIG75CA.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-ZRVMXLDR.mjs.map +0 -7
  388. package/dist/lib/browser/client-O7U3MQ6J.mjs +0 -43
  389. package/dist/lib/browser/client-O7U3MQ6J.mjs.map +0 -7
  390. package/dist/lib/browser/intent-resolver-KLK7PJZK.mjs +0 -305
  391. package/dist/lib/browser/intent-resolver-KLK7PJZK.mjs.map +0 -7
  392. package/dist/lib/browser/migrations-RUAKBBTF.mjs +0 -23
  393. package/dist/lib/browser/migrations-RUAKBBTF.mjs.map +0 -7
  394. package/dist/lib/browser/react-context-PCT5C3BN.mjs +0 -25
  395. package/dist/lib/browser/react-context-PCT5C3BN.mjs.map +0 -7
  396. package/dist/lib/browser/react-surface-RCXEA65V.mjs +0 -66
  397. package/dist/lib/browser/react-surface-RCXEA65V.mjs.map +0 -7
  398. package/dist/lib/browser/schema-defs-UNNBAEFW.mjs +0 -25
  399. package/dist/lib/browser/schema-defs-UNNBAEFW.mjs.map +0 -7
  400. package/dist/lib/node-esm/app-graph-builder-LLM25DRR.mjs +0 -125
  401. package/dist/lib/node-esm/app-graph-builder-LLM25DRR.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs +0 -19
  403. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs +0 -20
  405. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-DJ6XKSE4.mjs +0 -687
  407. package/dist/lib/node-esm/chunk-DJ6XKSE4.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-QT3EQXDU.mjs.map +0 -7
  409. package/dist/lib/node-esm/chunk-VENKFPBC.mjs +0 -111
  410. package/dist/lib/node-esm/chunk-VENKFPBC.mjs.map +0 -7
  411. package/dist/lib/node-esm/client-6MTNT7M6.mjs +0 -44
  412. package/dist/lib/node-esm/client-6MTNT7M6.mjs.map +0 -7
  413. package/dist/lib/node-esm/intent-resolver-YR2C224X.mjs +0 -306
  414. package/dist/lib/node-esm/intent-resolver-YR2C224X.mjs.map +0 -7
  415. package/dist/lib/node-esm/migrations-ASF2SAUR.mjs +0 -24
  416. package/dist/lib/node-esm/migrations-ASF2SAUR.mjs.map +0 -7
  417. package/dist/lib/node-esm/react-context-F4QOBWSP.mjs.map +0 -7
  418. package/dist/lib/node-esm/react-surface-SQBRXVMZ.mjs +0 -67
  419. package/dist/lib/node-esm/react-surface-SQBRXVMZ.mjs.map +0 -7
  420. package/dist/lib/node-esm/schema-defs-MSIT2KK2.mjs +0 -26
  421. package/dist/lib/node-esm/schema-defs-MSIT2KK2.mjs.map +0 -7
  422. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  423. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  424. package/dist/types/src/capabilities/capabilities.d.ts +0 -9
  425. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  426. package/dist/types/src/capabilities/client.d.ts +0 -9
  427. package/dist/types/src/capabilities/client.d.ts.map +0 -1
  428. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
  429. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  430. package/dist/types/src/capabilities/migrations.d.ts +0 -4
  431. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  432. package/dist/types/src/capabilities/react-context.d.ts +0 -8
  433. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  434. package/dist/types/src/capabilities/react-surface.d.ts +0 -8
  435. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  436. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  437. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  438. package/dist/types/src/components/DevicesContainer.d.ts.map +0 -1
  439. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +0 -1
  440. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  441. package/dist/types/src/components/ProfileContainer.d.ts.map +0 -1
  442. package/dist/types/src/components/ProfileContainer.stories.d.ts +0 -60
  443. package/dist/types/src/components/ProfileContainer.stories.d.ts.map +0 -1
  444. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +0 -1
  445. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +0 -62
  446. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +0 -1
  447. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +0 -1
  448. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +0 -60
  449. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +0 -1
  450. package/dist/types/src/components/ResetDialog.d.ts +0 -7
  451. package/dist/types/src/components/ResetDialog.d.ts.map +0 -1
  452. package/dist/types/src/components/ResetDialog.stories.d.ts +0 -65
  453. package/dist/types/src/components/ResetDialog.stories.d.ts.map +0 -1
  454. package/dist/types/src/events.d.ts +0 -8
  455. package/dist/types/src/events.d.ts.map +0 -1
  456. package/src/capabilities/app-graph-builder.ts +0 -115
  457. package/src/capabilities/capabilities.ts +0 -18
  458. package/src/capabilities/client.ts +0 -43
  459. package/src/capabilities/intent-resolver.ts +0 -251
  460. package/src/capabilities/migrations.ts +0 -25
  461. package/src/capabilities/react-context.tsx +0 -22
  462. package/src/capabilities/react-surface.tsx +0 -67
  463. package/src/capabilities/schema-defs.ts +0 -29
  464. package/src/components/JoinDialog.tsx +0 -54
  465. package/src/components/RecoveryCredentialsContainer.stories.tsx +0 -42
  466. package/src/components/ResetDialog.stories.tsx +0 -52
  467. package/src/components/ResetDialog.tsx +0 -50
  468. package/src/events.ts +0 -15
  469. /package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.d.ts +0 -0
  470. /package/dist/types/src/{components → containers/ProfileContainer}/ProfileContainer.d.ts +0 -0
  471. /package/dist/types/src/{components → containers/RecoveryCredentialsContainer}/RecoveryCredentialsContainer.d.ts +0 -0
@@ -1,65 +0,0 @@
1
- import { type StoryObj } from '@storybook/react-vite';
2
- import React from 'react';
3
- import { type ResetDialogProps } from './ResetDialog';
4
- declare const meta: {
5
- title: string;
6
- component: ({ mode, onReset }: ResetDialogProps) => React.JSX.Element;
7
- render: (props: ResetDialogProps) => React.JSX.Element;
8
- decorators: import("@storybook/react").Decorator[];
9
- parameters: {
10
- layout: string;
11
- translations: [{
12
- readonly 'en-US': {
13
- readonly [meta.id]: {
14
- readonly 'account label': "User Account";
15
- readonly 'profile label': "Profile";
16
- readonly 'profile description': "You can adjust how your user settings here.";
17
- readonly 'devices label': "Devices";
18
- readonly 'devices verbose label': "Manage devices";
19
- readonly 'add device description': "Authenticating another device is a two-step process. To get started, create a code using the button below.";
20
- readonly 'devices description': "You can add and remove devices, configure your agent in the cloud, reset this device, or log in as a different identity here.";
21
- readonly 'create device invitation label': "Create code";
22
- readonly 'qr code description': "Scan this QR code using the device you want to log in to, or copy the URL and share it with the new device.";
23
- readonly 'security label': "Security";
24
- readonly 'reset device description': "Log out from this device, erasing all the data on this device.";
25
- readonly 'join new identity description': "Log out from this device, erasing all the data currently on this device, and use a QR code or URL to log in.";
26
- readonly 'recover identity description': "Log out from this device, erasing all the data currently on this device, and use a passkey or recovery code to log in.";
27
- readonly 'danger zone title': "Log out";
28
- readonly 'danger zone description': "Because Composer is decentralized, logging out entails erasing all the data on this device. If you have any data on this device that you’d like to keep, you can log in on a separate device using a passkey or complete a peer-to-peer device invitation above.";
29
- readonly 'display name label': "Display name";
30
- readonly 'display name description': "Your name as it appears in the app.";
31
- readonly 'display name input placeholder': "Enter a name";
32
- readonly 'icon label': "Avatar";
33
- readonly 'icon description': "The emoji used to represent you in the app.";
34
- readonly 'hue label': "Color";
35
- readonly 'hue description': "The color used to represent you in the app, including as your avatar’s background, your cursor as it appears to others, and the messages you send in group threads.";
36
- readonly 'did label': "DID";
37
- readonly 'did description': "Your unique ID.";
38
- readonly 'open user account label': "Open user account";
39
- readonly 'manage credentials dialog title': "Manage Account Recovery";
40
- readonly 'credentials list label': "Recovery credentials";
41
- readonly 'no credentials title': "WARNING: There is currently no way to recover your account.";
42
- readonly 'no credentials message': "Create a recovery credential above to secure your account.";
43
- readonly 'recovery setup dialog title': "Account Security";
44
- readonly 'recovery setup dialog description': "In order to maintain access to your account you need to register a recovery credential. Passkeys are the recommended way to do this, they can be stored in your browser or in a password manager.";
45
- readonly 'create passkey label': "Create Passkey";
46
- readonly 'create passkey description': "A passkey is a secure and easy to use credential that can be used to recover your account.";
47
- readonly 'create recovery code label': "Create Recovery Code";
48
- readonly 'create recovery code description': "A recovery code is 12 word phrase representing a private key.";
49
- readonly 'recovery code dialog title': "Recovery Code";
50
- readonly 'recovery code dialog description': "This is your identity recovery code, store it in a safe place. You can use it to recover your identity if you ever lose access to your devices.";
51
- readonly 'recovery code dialog warning 1': "NOTE: This code will not be displayed again.";
52
- readonly 'recovery code dialog warning 2': "It is your private key for recovering DXOS data. Anyone with this key will be able to gain access to your account.";
53
- readonly 'recovery code confirmation label': "Please confirm you have saved the code.";
54
- readonly 'continue label': "Continue";
55
- };
56
- };
57
- }];
58
- };
59
- };
60
- export default meta;
61
- type Story = StoryObj<typeof meta>;
62
- export declare const Default: Story;
63
- export declare const JoinNewIdentity: Story;
64
- export declare const Recover: Story;
65
- //# sourceMappingURL=ResetDialog.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResetDialog.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/ResetDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAYnE,QAAA,MAAM,IAAI;;;oBAVa,gBAAgB;;;;;;yBAVJ,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCf,CAAC;AAErC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAA2C,CAAC;AAElE,eAAO,MAAM,eAAe,EAAE,KAA+C,CAAC;AAE9E,eAAO,MAAM,OAAO,EAAE,KAAqC,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare namespace ClientEvents {
2
- const ClientReady: import("@dxos/app-framework").ActivationEvent;
3
- const SetupSchema: import("@dxos/app-framework").ActivationEvent;
4
- const SetupMigration: import("@dxos/app-framework").ActivationEvent;
5
- const IdentityCreated: import("@dxos/app-framework").ActivationEvent;
6
- const SpacesReady: import("@dxos/app-framework").ActivationEvent;
7
- }
8
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,YAAY,CAAC;IACrB,MAAM,WAAW,+CAA+C,CAAC;IACjE,MAAM,WAAW,+CAA+C,CAAC;IACjE,MAAM,cAAc,+CAAkD,CAAC;IACvE,MAAM,eAAe,+CAAmD,CAAC;IACzE,MAAM,WAAW,+CAA+C,CAAC;CACzE"}
@@ -1,115 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Atom } from '@effect-atom/atom-react';
6
- import * as Function from 'effect/Function';
7
- import * as Option from 'effect/Option';
8
-
9
- import { createIntent } from '@dxos/app-framework';
10
- import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
11
- import { ROOT_ID, atomFromObservable, createExtension } from '@dxos/plugin-graph';
12
- import { ConnectionState } from '@dxos/react-client/mesh';
13
-
14
- import { meta } from '../meta';
15
- import { Account, ClientAction } from '../types';
16
-
17
- import { ClientCapabilities } from './capabilities';
18
-
19
- export default (context: PluginContext) =>
20
- contributes(
21
- Capabilities.AppGraphBuilder,
22
- createExtension({
23
- id: meta.id,
24
- actions: (node) =>
25
- Atom.make((get) =>
26
- Function.pipe(
27
- get(node),
28
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
29
- Option.map(() => {
30
- return [
31
- {
32
- id: `${meta.id}/open-user-account`,
33
- data: async () => {
34
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
35
- await dispatch(createIntent(ClientAction.ShareIdentity));
36
- },
37
- properties: {
38
- label: ['open user account label', { ns: meta.id }],
39
- icon: 'ph--user--regular',
40
- disposition: 'menu',
41
- keyBinding: {
42
- macos: 'meta+shift+.',
43
- // TODO(wittjosiah): Test on windows to see if it behaves the same as linux.
44
- windows: 'alt+shift+.',
45
- linux: 'alt+shift+>',
46
- },
47
- },
48
- },
49
- ];
50
- }),
51
- Option.getOrElse(() => []),
52
- ),
53
- ),
54
- connector: (node) =>
55
- Atom.make((get) =>
56
- Function.pipe(
57
- get(node),
58
- Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
59
- Option.map(() => {
60
- const client = context.getCapability(ClientCapabilities.Client);
61
- const identity = get(atomFromObservable(client.halo.identity));
62
- const status = get(atomFromObservable(client.mesh.networkStatus));
63
-
64
- return [
65
- {
66
- id: Account.id,
67
- type: meta.id,
68
- properties: {
69
- label: ['account label', { ns: meta.id }],
70
- icon: 'ph--user--regular',
71
- disposition: 'user-account',
72
- // NOTE: This currently needs to be the identity key because the fallback is generated from hex.
73
- userId: identity?.identityKey.toHex(),
74
- hue: identity?.profile?.data?.hue,
75
- emoji: identity?.profile?.data?.emoji,
76
- status: status.swarm === ConnectionState.OFFLINE ? 'error' : 'active',
77
- },
78
- nodes: [
79
- {
80
- id: Account.Profile,
81
- data: Account.Profile,
82
- type: meta.id,
83
- properties: {
84
- label: ['profile label', { ns: meta.id }],
85
- icon: 'ph--user--regular',
86
- },
87
- },
88
- {
89
- id: Account.Devices,
90
- data: Account.Devices,
91
- type: meta.id,
92
- properties: {
93
- label: ['devices label', { ns: meta.id }],
94
- icon: 'ph--devices--regular',
95
- testId: 'clientPlugin.devices',
96
- },
97
- },
98
- {
99
- id: Account.Security,
100
- data: Account.Security,
101
- type: meta.id,
102
- properties: {
103
- label: ['security label', { ns: meta.id }],
104
- icon: 'ph--key--regular',
105
- },
106
- },
107
- ],
108
- },
109
- ];
110
- }),
111
- Option.getOrElse(() => []),
112
- ),
113
- ),
114
- }),
115
- );
@@ -1,18 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineCapability } from '@dxos/app-framework';
6
- import { type Client } from '@dxos/client';
7
- import { type ObjectMigration } from '@dxos/client/echo';
8
- import { type Type } from '@dxos/echo';
9
-
10
- import { meta } from '../meta';
11
-
12
- export namespace ClientCapabilities {
13
- export const Client = defineCapability<Client>(`${meta.id}/capability/client`);
14
- export const Schema = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema`);
15
- // TODO(wittjosiah): More descriptive name.
16
- export const SchemaWhiteList = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema-whitelist`);
17
- export const Migration = defineCapability<ObjectMigration[]>(`${meta.id}/capability/migration`);
18
- }
@@ -1,43 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { type PluginContext, contributes } from '@dxos/app-framework';
6
- import { Client } from '@dxos/react-client';
7
-
8
- import { ClientEvents } from '../events';
9
- import { type ClientPluginOptions } from '../types';
10
-
11
- import { ClientCapabilities } from './capabilities';
12
-
13
- type ClientCapabilityOptions = Omit<ClientPluginOptions, 'appKey' | 'invitationUrl' | 'invitationParam' | 'onReset'> & {
14
- context: PluginContext;
15
- };
16
-
17
- export default async ({ context, onClientInitialized, onSpacesReady, ...options }: ClientCapabilityOptions) => {
18
- const client = new Client(options);
19
- await client.initialize();
20
- await onClientInitialized?.({ context, client });
21
-
22
- // TODO(wittjosiah): Remove. This is a hack to get the app to boot with the new identity after a reset.
23
- client.reloaded.on(() => {
24
- client.halo.identity.subscribe(async (identity) => {
25
- if (identity) {
26
- window.location.href = window.location.origin;
27
- }
28
- });
29
- });
30
-
31
- // TODO(burdon): The callback isn't called?
32
- const subscription = client.spaces.isReady.subscribe(async (ready) => {
33
- if (ready) {
34
- await context.activatePromise(ClientEvents.SpacesReady);
35
- await onSpacesReady?.({ context, client });
36
- }
37
- });
38
-
39
- return contributes(ClientCapabilities.Client, client, async () => {
40
- subscription.unsubscribe();
41
- await client.destroy();
42
- });
43
- };
@@ -1,251 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Function from 'effect/Function';
6
-
7
- import {
8
- Capabilities,
9
- LayoutAction,
10
- type PluginContext,
11
- chain,
12
- contributes,
13
- createIntent,
14
- createResolver,
15
- } from '@dxos/app-framework';
16
- import { invariant } from '@dxos/invariant';
17
- import { ObservabilityAction } from '@dxos/plugin-observability/types';
18
- import { PublicKey } from '@dxos/react-client';
19
- import { type JoinPanelProps } from '@dxos/shell/react';
20
-
21
- import { JOIN_DIALOG, RECOVERY_CODE_DIALOG, RESET_DIALOG } from '../components';
22
- import { ClientEvents } from '../events';
23
- import { Account, ClientAction } from '../types';
24
-
25
- import { ClientCapabilities } from './capabilities';
26
-
27
- type IntentResolverOptions = {
28
- context: PluginContext;
29
- appName?: string;
30
- };
31
-
32
- const RECOVER_IDENTITY_RPC_TIMEOUT = 20_000;
33
-
34
- export default ({ context, appName = 'Composer' }: IntentResolverOptions) =>
35
- contributes(Capabilities.IntentResolver, [
36
- createResolver({
37
- intent: ClientAction.CreateIdentity,
38
- resolve: async (profile) => {
39
- const manager = context.getCapability(Capabilities.PluginManager);
40
- const client = context.getCapability(ClientCapabilities.Client);
41
- const data = await client.halo.createIdentity(profile);
42
- await manager.activate(ClientEvents.IdentityCreated);
43
- return {
44
- data,
45
- intents: [
46
- createIntent(ObservabilityAction.SendEvent, {
47
- name: 'identity.create',
48
- }),
49
- ],
50
- };
51
- },
52
- }),
53
- createResolver({
54
- intent: ClientAction.JoinIdentity,
55
- resolve: async (data) => {
56
- return {
57
- intents: [
58
- createIntent(LayoutAction.UpdateDialog, {
59
- part: 'dialog',
60
- subject: JOIN_DIALOG,
61
- options: {
62
- blockAlign: 'start',
63
- props: {
64
- initialInvitationCode: data.invitationCode,
65
- initialDisposition: 'accept-halo-invitation',
66
- },
67
- },
68
- }),
69
- ],
70
- };
71
- },
72
- }),
73
- createResolver({
74
- intent: ClientAction.ShareIdentity,
75
- resolve: async () => {
76
- return {
77
- intents: [
78
- Function.pipe(
79
- createIntent(LayoutAction.SwitchWorkspace, {
80
- part: 'workspace',
81
- subject: Account.id,
82
- }),
83
- chain(LayoutAction.Open, {
84
- part: 'main',
85
- subject: [Account.Profile],
86
- }),
87
- ),
88
- createIntent(ObservabilityAction.SendEvent, {
89
- name: 'identity.share',
90
- }),
91
- ],
92
- };
93
- },
94
- }),
95
- createResolver({
96
- intent: ClientAction.RecoverIdentity,
97
- resolve: async () => {
98
- return {
99
- intents: [
100
- createIntent(LayoutAction.UpdateDialog, {
101
- part: 'dialog',
102
- subject: JOIN_DIALOG,
103
- options: {
104
- blockAlign: 'start',
105
- props: {
106
- initialDisposition: 'recover-identity',
107
- } satisfies Partial<JoinPanelProps>,
108
- },
109
- }),
110
- ],
111
- };
112
- },
113
- }),
114
- createResolver({
115
- intent: ClientAction.ResetStorage,
116
- resolve: async (data) => {
117
- return {
118
- intents: [
119
- createIntent(LayoutAction.UpdateDialog, {
120
- part: 'dialog',
121
- subject: RESET_DIALOG,
122
- options: {
123
- blockAlign: 'start',
124
- props: {
125
- mode: data.mode ?? 'reset storage',
126
- },
127
- },
128
- }),
129
- ],
130
- };
131
- },
132
- }),
133
- createResolver({
134
- intent: ClientAction.CreateAgent,
135
- resolve: async () => {
136
- const client = context.getCapability(ClientCapabilities.Client);
137
- invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');
138
- await client.services.services.EdgeAgentService.createAgent(null as any, { timeout: 10_000 });
139
- },
140
- }),
141
- createResolver({
142
- intent: ClientAction.CreateRecoveryCode,
143
- resolve: async () => {
144
- const client = context.getCapability(ClientCapabilities.Client);
145
- invariant(client.services.services.IdentityService, 'IdentityService not available');
146
- // TODO(wittjosiah): This needs a proper api.
147
- const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});
148
- return {
149
- intents: [
150
- createIntent(LayoutAction.UpdateDialog, {
151
- part: 'dialog',
152
- subject: RECOVERY_CODE_DIALOG,
153
- options: {
154
- blockAlign: 'start',
155
- type: 'alert',
156
- props: { code: recoveryCode },
157
- },
158
- }),
159
- ],
160
- };
161
- },
162
- }),
163
- createResolver({
164
- intent: ClientAction.CreatePasskey,
165
- resolve: async () => {
166
- const client = context.getCapability(ClientCapabilities.Client);
167
- const identity = client.halo.identity.get();
168
- invariant(identity, 'Identity not available');
169
-
170
- // TODO(wittjosiah): Consider factoring out passkey creation to the halo api.
171
- const lookupKey = PublicKey.random();
172
- const credential = await navigator.credentials.create({
173
- publicKey: {
174
- challenge: new Uint8Array(),
175
- rp: { id: location.hostname, name: appName },
176
- user: {
177
- id: lookupKey.asUint8Array() as Uint8Array<ArrayBuffer>,
178
- name: identity.did,
179
- displayName: identity.profile?.displayName ?? '',
180
- },
181
- pubKeyCredParams: [
182
- { type: 'public-key', alg: -8 }, // Ed25519 (not yet supported across all browsers)
183
- { type: 'public-key', alg: -7 }, // ES256
184
- ],
185
- // https://web.dev/articles/webauthn-discoverable-credentials#resident-key
186
- authenticatorSelection: {
187
- residentKey: 'required',
188
- requireResidentKey: true,
189
- },
190
- },
191
- });
192
-
193
- invariant(credential, 'Credential not available');
194
- const recoveryKey = PublicKey.from(new Uint8Array((credential as any).response.getPublicKey()));
195
- const algorithm = (credential as any).response.getPublicKeyAlgorithm() === -7 ? 'ES256' : 'ED25519';
196
-
197
- // TODO(wittjosiah): This needs a proper api.
198
- invariant(client.services.services.IdentityService, 'IdentityService not available');
199
- await client.services.services.IdentityService.createRecoveryCredential({
200
- data: {
201
- recoveryKey,
202
- algorithm,
203
- lookupKey,
204
- },
205
- });
206
- },
207
- }),
208
- createResolver({
209
- intent: ClientAction.RedeemPasskey,
210
- resolve: async () => {
211
- const client = context.getCapability(ClientCapabilities.Client);
212
- // TODO(wittjosiah): This needs a proper api.
213
- invariant(client.services.services.IdentityService, 'IdentityService not available');
214
- const { deviceKey, controlFeedKey, challenge } =
215
- await client.services.services.IdentityService.requestRecoveryChallenge();
216
- const credential = await navigator.credentials.get({
217
- publicKey: {
218
- challenge: Buffer.from(challenge, 'base64'),
219
- rpId: location.hostname,
220
- userVerification: 'required',
221
- },
222
- });
223
- const lookupKey = PublicKey.from(new Uint8Array((credential as any).response.userHandle));
224
- await client.services.services.IdentityService.recoverIdentity(
225
- {
226
- external: {
227
- lookupKey,
228
- deviceKey,
229
- controlFeedKey,
230
- signature: Buffer.from((credential as any).response.signature),
231
- clientDataJson: Buffer.from((credential as any).response.clientDataJSON),
232
- authenticatorData: Buffer.from((credential as any).response.authenticatorData),
233
- },
234
- },
235
- { timeout: RECOVER_IDENTITY_RPC_TIMEOUT },
236
- );
237
- },
238
- }),
239
- createResolver({
240
- intent: ClientAction.RedeemToken,
241
- resolve: async (data) => {
242
- const client = context.getCapability(ClientCapabilities.Client);
243
- // TODO(wittjosiah): This needs a proper api.
244
- invariant(client.services.services.IdentityService, 'IdentityService not available');
245
- await client.services.services.IdentityService.recoverIdentity(
246
- { token: data.token },
247
- { timeout: RECOVER_IDENTITY_RPC_TIMEOUT },
248
- );
249
- },
250
- }),
251
- ]);
@@ -1,25 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
6
-
7
- import { ClientCapabilities } from './capabilities';
8
-
9
- export default (context: PluginContext) => {
10
- const registry = context.getCapability(Capabilities.AtomRegistry);
11
- const client = context.getCapability(ClientCapabilities.Client);
12
-
13
- // NOTE: Migrations are currently unidirectional and idempotent.
14
- const cancel = registry.subscribe(
15
- context.capabilities(ClientCapabilities.Migration),
16
- (_migrations) => {
17
- const migrations = Array.from(new Set(_migrations.flat()));
18
- const spaces = client.spaces.get();
19
- void Promise.all(spaces.map((space) => space.db.runMigrations(migrations)));
20
- },
21
- { immediate: true },
22
- );
23
-
24
- return contributes(Capabilities.Null, null, () => cancel());
25
- };
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Capabilities, contributes } from '@dxos/app-framework';
8
- import { useCapability } from '@dxos/app-framework/react';
9
- import { ClientProvider } from '@dxos/react-client';
10
-
11
- import { meta } from '../meta';
12
-
13
- import { ClientCapabilities } from './capabilities';
14
-
15
- export default () =>
16
- contributes(Capabilities.ReactContext, {
17
- id: meta.id,
18
- context: ({ children }) => {
19
- const client = useCapability(ClientCapabilities.Client);
20
- return <ClientProvider client={client}>{children}</ClientProvider>;
21
- },
22
- });
@@ -1,67 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { type JoinPanelProps } from '@dxos/shell/react';
9
-
10
- import {
11
- DevicesContainer,
12
- JOIN_DIALOG,
13
- JoinDialog,
14
- ProfileContainer,
15
- RECOVERY_CODE_DIALOG,
16
- RESET_DIALOG,
17
- RecoveryCodeDialog,
18
- type RecoveryCodeDialogProps,
19
- RecoveryCredentialsContainer,
20
- ResetDialog,
21
- type ResetDialogProps,
22
- } from '../components';
23
- import { Account, type ClientPluginOptions } from '../types';
24
-
25
- type ReactSurfaceOptions = Pick<ClientPluginOptions, 'onReset'> & {
26
- createInvitationUrl: (invitationCode: string) => string;
27
- };
28
-
29
- export default ({ createInvitationUrl, onReset }: ReactSurfaceOptions) =>
30
- contributes(Capabilities.ReactSurface, [
31
- createSurface({
32
- id: Account.Profile,
33
- role: 'article',
34
- filter: (data): data is any => data.subject === Account.Profile,
35
- component: () => <ProfileContainer />,
36
- }),
37
- createSurface({
38
- id: Account.Devices,
39
- role: 'article',
40
- filter: (data): data is any => data.subject === Account.Devices,
41
- component: ({ data }) => <DevicesContainer createInvitationUrl={createInvitationUrl} />,
42
- }),
43
- createSurface({
44
- id: Account.Security,
45
- role: 'article',
46
- filter: (data): data is any => data.subject === Account.Security,
47
- component: () => <RecoveryCredentialsContainer />,
48
- }),
49
- createSurface({
50
- id: JOIN_DIALOG,
51
- role: 'dialog',
52
- filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,
53
- component: ({ data }) => <JoinDialog {...data.props} />,
54
- }),
55
- createSurface({
56
- id: RECOVERY_CODE_DIALOG,
57
- role: 'dialog',
58
- filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVERY_CODE_DIALOG,
59
- component: ({ data }) => <RecoveryCodeDialog {...data.props} />,
60
- }),
61
- createSurface({
62
- id: RESET_DIALOG,
63
- role: 'dialog',
64
- filter: (data): data is { props: ResetDialogProps } => data.component === RESET_DIALOG,
65
- component: ({ data }) => <ResetDialog {...data.props} onReset={onReset} />,
66
- }),
67
- ]);
@@ -1,29 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
6
- import { type Type } from '@dxos/echo';
7
-
8
- import { ClientCapabilities } from './capabilities';
9
-
10
- export default (context: PluginContext) => {
11
- const registry = context.getCapability(Capabilities.AtomRegistry);
12
- const client = context.getCapability(ClientCapabilities.Client);
13
-
14
- // TODO(wittjosiah): Unregister schemas when they are disabled.
15
- let previous: Type.Obj.Any[] = [];
16
- const cancel = registry.subscribe(
17
- context.capabilities(ClientCapabilities.Schema),
18
- (_schemas) => {
19
- const schemas = Array.from(new Set(_schemas.flat()));
20
- // TODO(wittjosiah): Filter out schemas which the client has already registered.
21
- const newSchemas = schemas.filter((schema) => !previous.includes(schema));
22
- previous = schemas;
23
- client.addTypes(newSchemas);
24
- },
25
- { immediate: true },
26
- );
27
-
28
- return contributes(Capabilities.Null, null, () => cancel());
29
- };