@dxos/plugin-client 0.8.4-main.d05673bc65 → 0.8.4-main.d9fc60f731

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 (602) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/AccountContainer-FZ3IC6H4.mjs +182 -0
  4. package/dist/lib/neutral/AccountContainer-FZ3IC6H4.mjs.map +7 -0
  5. package/dist/lib/neutral/ClientPlugin.mjs +72 -0
  6. package/dist/lib/neutral/ClientPlugin.mjs.map +7 -0
  7. package/dist/lib/{browser/cli/index.mjs → neutral/ClientPlugin.node.mjs} +115 -125
  8. package/dist/lib/neutral/ClientPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/ClientPlugin.workerd.mjs +16 -0
  10. package/dist/lib/neutral/ClientPlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/{browser/DevicesContainer-3N7ANEJ7.mjs → neutral/DevicesContainer-6MWNUC3I.mjs} +46 -52
  12. package/dist/lib/neutral/DevicesContainer-6MWNUC3I.mjs.map +7 -0
  13. package/dist/lib/neutral/InvitationsContainer-ME722VKS.mjs +132 -0
  14. package/dist/lib/neutral/InvitationsContainer-ME722VKS.mjs.map +7 -0
  15. package/dist/lib/{browser/JoinDialog-VTTK7NHO.mjs → neutral/JoinDialog-2NXAKPLP.mjs} +10 -16
  16. package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs.map +7 -0
  17. package/dist/lib/{browser/ProfileContainer-XV7OXJC2.mjs → neutral/ProfileContainer-VPX3FPWG.mjs} +17 -20
  18. package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs.map +7 -0
  19. package/dist/lib/{browser/RecoveryCodeDialog-WO34OZEJ.mjs → neutral/RecoveryCodeDialog-GBRH6ZSA.mjs} +8 -9
  20. package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs.map +7 -0
  21. package/dist/lib/{browser/RecoveryCredentialsContainer-G22FSTIX.mjs → neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs} +18 -24
  22. package/dist/lib/neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs.map +7 -0
  23. package/dist/lib/{node-esm/ResetDialog-GGBWSQZO.mjs → neutral/ResetDialog-HZ5OKKG4.mjs} +10 -7
  24. package/dist/lib/neutral/ResetDialog-HZ5OKKG4.mjs.map +7 -0
  25. package/dist/lib/neutral/account-cache-4EKGEUJI.mjs +43 -0
  26. package/dist/lib/neutral/account-cache-4EKGEUJI.mjs.map +7 -0
  27. package/dist/lib/{node-esm/app-graph-builder-PTNZ46NN.mjs → neutral/app-graph-builder-A74W7C36.mjs} +51 -28
  28. package/dist/lib/neutral/app-graph-builder-A74W7C36.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/index.mjs +34 -0
  30. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  31. package/dist/lib/neutral/capabilities/node.mjs +21 -0
  32. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-D6HPCLTS.mjs +185 -0
  34. package/dist/lib/neutral/chunk-D6HPCLTS.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-FVESSI4C.mjs +8 -0
  36. package/dist/lib/neutral/chunk-FVESSI4C.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  38. package/dist/lib/neutral/chunk-JEF2FQGB.mjs +27 -0
  39. package/dist/lib/neutral/chunk-JEF2FQGB.mjs.map +7 -0
  40. package/dist/lib/{node-esm/chunk-BOTJSPCT.mjs → neutral/chunk-JOCCVODY.mjs} +11 -7
  41. package/dist/lib/neutral/chunk-JOCCVODY.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-TUK3ELUU.mjs +135 -0
  43. package/dist/lib/neutral/chunk-TUK3ELUU.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-WWCVZG3K.mjs +13 -0
  45. package/dist/lib/neutral/chunk-WWCVZG3K.mjs.map +7 -0
  46. package/dist/lib/{browser/client-BXCP3EUE.mjs → neutral/client-MCFHLJEA.mjs} +16 -40
  47. package/dist/lib/neutral/client-MCFHLJEA.mjs.map +7 -0
  48. package/dist/lib/neutral/components/index.mjs +1 -0
  49. package/dist/lib/neutral/containers/index.mjs +23 -0
  50. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  51. package/dist/lib/neutral/create-agent-6HLW4D3A.mjs +26 -0
  52. package/dist/lib/neutral/create-agent-6HLW4D3A.mjs.map +7 -0
  53. package/dist/lib/neutral/create-identity-WV2CVZBS.mjs +42 -0
  54. package/dist/lib/neutral/create-identity-WV2CVZBS.mjs.map +7 -0
  55. package/dist/lib/neutral/create-passkey-FOXEMXGF.mjs +81 -0
  56. package/dist/lib/neutral/create-passkey-FOXEMXGF.mjs.map +7 -0
  57. package/dist/lib/neutral/create-recovery-code-ZWDKLPH4.mjs +36 -0
  58. package/dist/lib/neutral/create-recovery-code-ZWDKLPH4.mjs.map +7 -0
  59. package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs +19 -0
  60. package/dist/lib/neutral/hub-http-client-WOJUCDKV.mjs.map +7 -0
  61. package/dist/lib/neutral/index.mjs +23 -0
  62. package/dist/lib/neutral/index.mjs.map +7 -0
  63. package/dist/lib/neutral/join-identity-QEQFAE2S.mjs +27 -0
  64. package/dist/lib/neutral/join-identity-QEQFAE2S.mjs.map +7 -0
  65. package/dist/lib/neutral/layer-specs-FLXR263J.mjs +61 -0
  66. package/dist/lib/neutral/layer-specs-FLXR263J.mjs.map +7 -0
  67. package/dist/lib/neutral/meta.json +1 -0
  68. package/dist/lib/neutral/meta.mjs +8 -0
  69. package/dist/lib/neutral/meta.mjs.map +7 -0
  70. package/dist/lib/{browser/migrations-GKUA2ARL.mjs → neutral/migrations-7FTW55ER.mjs} +4 -6
  71. package/dist/lib/neutral/migrations-7FTW55ER.mjs.map +7 -0
  72. package/dist/lib/neutral/navigation-handler-FWSGOXGG.mjs +46 -0
  73. package/dist/lib/neutral/navigation-handler-FWSGOXGG.mjs.map +7 -0
  74. package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs +13 -0
  75. package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs.map +7 -0
  76. package/dist/lib/neutral/operations/index.mjs +12 -0
  77. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  78. package/dist/lib/neutral/plugin.mjs +17 -0
  79. package/dist/lib/neutral/plugin.mjs.map +7 -0
  80. package/dist/lib/{browser/react-context-GZ3T5UON.mjs → neutral/react-context-B5LXMHVM.mjs} +5 -8
  81. package/dist/lib/neutral/react-context-B5LXMHVM.mjs.map +7 -0
  82. package/dist/lib/{browser/react-surface-5VZP34X3.mjs → neutral/react-surface-DEKGWTCD.mjs} +23 -30
  83. package/dist/lib/neutral/react-surface-DEKGWTCD.mjs.map +7 -0
  84. package/dist/lib/neutral/recover-identity-JNFKLCUD.mjs +26 -0
  85. package/dist/lib/neutral/recover-identity-JNFKLCUD.mjs.map +7 -0
  86. package/dist/lib/neutral/redeem-passkey-4SBAI4AG.mjs +66 -0
  87. package/dist/lib/neutral/redeem-passkey-4SBAI4AG.mjs.map +7 -0
  88. package/dist/lib/neutral/redeem-token-POBD6TMN.mjs +29 -0
  89. package/dist/lib/neutral/redeem-token-POBD6TMN.mjs.map +7 -0
  90. package/dist/lib/neutral/reset-storage-LQKUV5RA.mjs +26 -0
  91. package/dist/lib/neutral/reset-storage-LQKUV5RA.mjs.map +7 -0
  92. package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs +51 -0
  93. package/dist/lib/neutral/schema-defs-IHBCKTMM.mjs.map +7 -0
  94. package/dist/lib/neutral/share-identity-KNQ2XNXV.mjs +31 -0
  95. package/dist/lib/neutral/share-identity-KNQ2XNXV.mjs.map +7 -0
  96. package/dist/lib/neutral/testing/index.mjs +25 -0
  97. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  98. package/dist/lib/neutral/translations.mjs +101 -0
  99. package/dist/lib/neutral/translations.mjs.map +7 -0
  100. package/dist/lib/{browser → neutral}/types/index.mjs +4 -6
  101. package/dist/lib/neutral/types/index.mjs.map +7 -0
  102. package/dist/types/src/ClientPlugin.d.ts +2 -1
  103. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  104. package/dist/types/src/ClientPlugin.node.d.ts +5 -0
  105. package/dist/types/src/ClientPlugin.node.d.ts.map +1 -0
  106. package/dist/types/src/ClientPlugin.test.d.ts +2 -0
  107. package/dist/types/src/ClientPlugin.test.d.ts.map +1 -0
  108. package/dist/types/src/ClientPlugin.workerd.d.ts +4 -0
  109. package/dist/types/src/ClientPlugin.workerd.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/account-cache.d.ts +35 -0
  111. package/dist/types/src/capabilities/account-cache.d.ts.map +1 -0
  112. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/{client/client.d.ts → client.d.ts} +2 -2
  114. package/dist/types/src/capabilities/client.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/hub-http-client.d.ts +6 -0
  116. package/dist/types/src/capabilities/hub-http-client.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/index.d.ts +65 -7
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/layer-specs.d.ts +6 -0
  120. package/dist/types/src/capabilities/layer-specs.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
  123. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +15 -0
  125. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/node.d.ts +26 -0
  127. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  129. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +1 -1
  132. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  134. package/dist/types/src/{cli/commands → commands}/config/index.d.ts +1 -1
  135. package/dist/types/src/commands/config/index.d.ts.map +1 -0
  136. package/dist/types/src/{cli/commands → commands}/config/view.d.ts +1 -1
  137. package/dist/types/src/commands/config/view.d.ts.map +1 -0
  138. package/dist/types/src/commands/device/index.d.ts.map +1 -0
  139. package/dist/types/src/commands/device/info/index.d.ts.map +1 -0
  140. package/dist/types/src/{cli/commands → commands}/device/info/info.d.ts +2 -2
  141. package/dist/types/src/commands/device/info/info.d.ts.map +1 -0
  142. package/dist/types/src/commands/device/info/info.test.d.ts.map +1 -0
  143. package/dist/types/src/commands/device/list/index.d.ts.map +1 -0
  144. package/dist/types/src/{cli/commands → commands}/device/list/list.d.ts +2 -2
  145. package/dist/types/src/commands/device/list/list.d.ts.map +1 -0
  146. package/dist/types/src/commands/device/list/list.test.d.ts.map +1 -0
  147. package/dist/types/src/commands/device/update/index.d.ts.map +1 -0
  148. package/dist/types/src/commands/device/update/update.d.ts.map +1 -0
  149. package/dist/types/src/commands/device/util.d.ts.map +1 -0
  150. package/dist/types/src/commands/edge/index.d.ts.map +1 -0
  151. package/dist/types/src/commands/edge/status.d.ts.map +1 -0
  152. package/dist/types/src/{cli/commands → commands}/halo/create/create.d.ts +2 -2
  153. package/dist/types/src/commands/halo/create/create.d.ts.map +1 -0
  154. package/dist/types/src/commands/halo/create/create.test.d.ts.map +1 -0
  155. package/dist/types/src/commands/halo/create/index.d.ts.map +1 -0
  156. package/dist/types/src/commands/halo/credential/add/add.d.ts.map +1 -0
  157. package/dist/types/src/commands/halo/credential/add/index.d.ts.map +1 -0
  158. package/dist/types/src/commands/halo/credential/index.d.ts.map +1 -0
  159. package/dist/types/src/commands/halo/credential/list/index.d.ts.map +1 -0
  160. package/dist/types/src/{cli/commands → commands}/halo/credential/list/list.d.ts +3 -3
  161. package/dist/types/src/commands/halo/credential/list/list.d.ts.map +1 -0
  162. package/dist/types/src/commands/halo/credential/list/list.test.d.ts.map +1 -0
  163. package/dist/types/src/{cli/commands → commands}/halo/identity/identity.d.ts +2 -2
  164. package/dist/types/src/commands/halo/identity/identity.d.ts.map +1 -0
  165. package/dist/types/src/commands/halo/identity/identity.test.d.ts.map +1 -0
  166. package/dist/types/src/commands/halo/identity/index.d.ts.map +1 -0
  167. package/dist/types/src/commands/halo/index.d.ts.map +1 -0
  168. package/dist/types/src/commands/halo/join/index.d.ts.map +1 -0
  169. package/dist/types/src/{cli/commands → commands}/halo/join/join.d.ts +1 -1
  170. package/dist/types/src/commands/halo/join/join.d.ts.map +1 -0
  171. package/dist/types/src/commands/halo/join/join.test.d.ts.map +1 -0
  172. package/dist/types/src/commands/halo/keys/index.d.ts.map +1 -0
  173. package/dist/types/src/{cli/commands → commands}/halo/keys/keys.d.ts +2 -2
  174. package/dist/types/src/commands/halo/keys/keys.d.ts.map +1 -0
  175. package/dist/types/src/commands/halo/keys/keys.test.d.ts.map +1 -0
  176. package/dist/types/src/commands/halo/recover/index.d.ts.map +1 -0
  177. package/dist/types/src/commands/halo/recover/recover.d.ts.map +1 -0
  178. package/dist/types/src/commands/halo/recover/recover.test.d.ts.map +1 -0
  179. package/dist/types/src/commands/halo/seed/index.d.ts.map +1 -0
  180. package/dist/types/src/commands/halo/seed/seed.d.ts.map +1 -0
  181. package/dist/types/src/commands/halo/share/index.d.ts.map +1 -0
  182. package/dist/types/src/commands/halo/share/share.d.ts.map +1 -0
  183. package/dist/types/src/commands/halo/update/index.d.ts.map +1 -0
  184. package/dist/types/src/commands/halo/update/update.d.ts.map +1 -0
  185. package/dist/types/src/commands/halo/update/update.test.d.ts.map +1 -0
  186. package/dist/types/src/{cli/commands → commands}/halo/util.d.ts +1 -4
  187. package/dist/types/src/commands/halo/util.d.ts.map +1 -0
  188. package/dist/types/src/commands/index.d.ts.map +1 -0
  189. package/dist/types/src/{cli/commands → commands}/profile/create.d.ts +1 -1
  190. package/dist/types/src/commands/profile/create.d.ts.map +1 -0
  191. package/dist/types/src/commands/profile/delete.d.ts.map +1 -0
  192. package/dist/types/src/{cli/commands → commands}/profile/import.d.ts +2 -2
  193. package/dist/types/src/commands/profile/import.d.ts.map +1 -0
  194. package/dist/types/src/{cli/commands → commands}/profile/index.d.ts +6 -6
  195. package/dist/types/src/commands/profile/index.d.ts.map +1 -0
  196. package/dist/types/src/commands/profile/inspect.d.ts.map +1 -0
  197. package/dist/types/src/commands/profile/list.d.ts.map +1 -0
  198. package/dist/types/src/{cli/commands → commands}/profile/reset.d.ts +1 -1
  199. package/dist/types/src/commands/profile/reset.d.ts.map +1 -0
  200. package/dist/types/src/commands/profile/util.d.ts.map +1 -0
  201. package/dist/types/src/constants.d.ts +4 -3
  202. package/dist/types/src/constants.d.ts.map +1 -1
  203. package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts +3 -0
  204. package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts.map +1 -0
  205. package/dist/types/src/containers/AccountContainer/index.d.ts +2 -0
  206. package/dist/types/src/containers/AccountContainer/index.d.ts.map +1 -0
  207. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -1
  208. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +165 -164
  209. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -1
  210. package/dist/types/src/containers/DevicesContainer/index.d.ts +1 -2
  211. package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -1
  212. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts +3 -0
  213. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts.map +1 -0
  214. package/dist/types/src/containers/InvitationsContainer/index.d.ts +2 -0
  215. package/dist/types/src/containers/InvitationsContainer/index.d.ts.map +1 -0
  216. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  217. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +15 -0
  218. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  219. package/dist/types/src/containers/JoinDialog/index.d.ts +1 -2
  220. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
  221. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -1
  222. package/dist/types/src/containers/ProfileContainer/index.d.ts +1 -2
  223. package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -1
  224. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -1
  225. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -1
  226. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -1
  227. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -1
  228. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  229. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +1 -2
  230. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -1
  231. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +7 -2
  232. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -1
  233. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +2 -2
  234. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -1
  235. package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -1
  236. package/dist/types/src/containers/index.d.ts +2 -0
  237. package/dist/types/src/containers/index.d.ts.map +1 -1
  238. package/dist/types/src/index.d.ts +2 -3
  239. package/dist/types/src/index.d.ts.map +1 -1
  240. package/dist/types/src/meta.d.ts +1 -1
  241. package/dist/types/src/meta.d.ts.map +1 -1
  242. package/dist/types/src/operations/create-agent.d.ts +5 -0
  243. package/dist/types/src/operations/create-agent.d.ts.map +1 -0
  244. package/dist/types/src/operations/create-identity.d.ts +5 -0
  245. package/dist/types/src/operations/create-identity.d.ts.map +1 -0
  246. package/dist/types/src/operations/create-passkey.d.ts +5 -0
  247. package/dist/types/src/operations/create-passkey.d.ts.map +1 -0
  248. package/dist/types/src/operations/create-recovery-code.d.ts +5 -0
  249. package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -0
  250. package/dist/types/src/operations/definitions.d.ts +36 -0
  251. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  252. package/dist/types/src/operations/index.d.ts +4 -0
  253. package/dist/types/src/operations/index.d.ts.map +1 -0
  254. package/dist/types/src/operations/join-identity.d.ts +5 -0
  255. package/dist/types/src/operations/join-identity.d.ts.map +1 -0
  256. package/dist/types/src/operations/recover-identity.d.ts +5 -0
  257. package/dist/types/src/operations/recover-identity.d.ts.map +1 -0
  258. package/dist/types/src/operations/redeem-passkey.d.ts +5 -0
  259. package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -0
  260. package/dist/types/src/operations/redeem-token.d.ts +5 -0
  261. package/dist/types/src/operations/redeem-token.d.ts.map +1 -0
  262. package/dist/types/src/operations/reset-storage.d.ts +5 -0
  263. package/dist/types/src/operations/reset-storage.d.ts.map +1 -0
  264. package/dist/types/src/operations/share-identity.d.ts +5 -0
  265. package/dist/types/src/operations/share-identity.d.ts.map +1 -0
  266. package/dist/types/src/plugin.d.ts +4 -0
  267. package/dist/types/src/plugin.d.ts.map +1 -0
  268. package/dist/types/src/state/account-cache.d.ts +42 -0
  269. package/dist/types/src/state/account-cache.d.ts.map +1 -0
  270. package/dist/types/src/state/use-hub-http.d.ts +8 -0
  271. package/dist/types/src/state/use-hub-http.d.ts.map +1 -0
  272. package/dist/types/src/testing/index.d.ts +3 -0
  273. package/dist/types/src/testing/index.d.ts.map +1 -0
  274. package/dist/types/src/testing/initializeIdentity.d.ts +14 -0
  275. package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -0
  276. package/dist/types/src/translations.d.ts.map +1 -1
  277. package/dist/types/src/types/capabilities.d.ts +35 -2
  278. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  279. package/dist/types/src/types/events.d.ts.map +1 -1
  280. package/dist/types/src/types/schema.d.ts +20 -156
  281. package/dist/types/src/types/schema.d.ts.map +1 -1
  282. package/dist/types/tsconfig.tsbuildinfo +1 -1
  283. package/package.json +121 -56
  284. package/src/{cli/plugin.ts → ClientPlugin.node.ts} +18 -10
  285. package/src/ClientPlugin.test.ts +29 -0
  286. package/src/ClientPlugin.ts +31 -10
  287. package/src/ClientPlugin.workerd.ts +16 -0
  288. package/src/capabilities/account-cache.ts +25 -0
  289. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +38 -19
  290. package/src/capabilities/{client/client.ts → client.ts} +10 -7
  291. package/src/capabilities/hub-http-client.ts +21 -0
  292. package/src/capabilities/index.ts +18 -7
  293. package/src/capabilities/layer-specs.ts +92 -0
  294. package/src/capabilities/{migrations/migrations.ts → migrations.ts} +1 -1
  295. package/src/capabilities/navigation-handler/index.ts +9 -0
  296. package/src/capabilities/navigation-handler/navigation-handler.ts +64 -0
  297. package/src/capabilities/node.ts +21 -0
  298. package/src/capabilities/operation-handler.ts +16 -0
  299. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +4 -4
  300. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +30 -22
  301. package/src/capabilities/schema-defs.ts +56 -0
  302. package/src/{cli/commands → commands}/config/view.ts +4 -1
  303. package/src/{cli/commands → commands}/device/info/info.test.ts +0 -1
  304. package/src/{cli/commands → commands}/device/info/info.ts +0 -2
  305. package/src/{cli/commands → commands}/device/list/list.test.ts +0 -1
  306. package/src/{cli/commands → commands}/device/list/list.ts +0 -2
  307. package/src/{cli/commands → commands}/device/update/update.ts +0 -2
  308. package/src/{cli/commands → commands}/edge/status.ts +2 -1
  309. package/src/{cli/commands → commands}/halo/create/create.test.ts +10 -9
  310. package/src/{cli/commands → commands}/halo/create/create.ts +12 -5
  311. package/src/{cli/commands → commands}/halo/credential/list/list.test.ts +0 -1
  312. package/src/{cli/commands → commands}/halo/credential/list/list.ts +4 -7
  313. package/src/{cli/commands → commands}/halo/identity/identity.test.ts +4 -4
  314. package/src/{cli/commands → commands}/halo/identity/identity.ts +2 -3
  315. package/src/{cli/commands → commands}/halo/join/join.ts +2 -2
  316. package/src/{cli/commands → commands}/halo/keys/keys.ts +0 -2
  317. package/src/{cli/commands → commands}/halo/recover/recover.ts +2 -2
  318. package/src/{cli/commands → commands}/halo/seed/seed.ts +0 -2
  319. package/src/{cli/commands → commands}/halo/update/update.test.ts +5 -6
  320. package/src/{cli/commands → commands}/halo/update/update.ts +2 -4
  321. package/src/{cli/commands → commands}/halo/util.ts +2 -5
  322. package/src/{cli/commands → commands}/profile/list.ts +0 -1
  323. package/src/constants.ts +6 -4
  324. package/src/containers/AccountContainer/AccountContainer.tsx +179 -0
  325. package/src/containers/AccountContainer/index.ts +5 -0
  326. package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +6 -6
  327. package/src/containers/DevicesContainer/DevicesContainer.tsx +50 -49
  328. package/src/containers/DevicesContainer/index.ts +1 -3
  329. package/src/containers/InvitationsContainer/InvitationsContainer.tsx +137 -0
  330. package/src/containers/InvitationsContainer/index.ts +5 -0
  331. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  332. package/src/containers/JoinDialog/JoinDialog.tsx +15 -12
  333. package/src/containers/JoinDialog/index.ts +1 -3
  334. package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +1 -1
  335. package/src/containers/ProfileContainer/ProfileContainer.tsx +13 -13
  336. package/src/containers/ProfileContainer/index.ts +1 -3
  337. package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.tsx +1 -1
  338. package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.tsx +7 -7
  339. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +6 -6
  340. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +24 -26
  341. package/src/containers/RecoveryCredentialsContainer/index.ts +1 -3
  342. package/src/containers/ResetDialog/ResetDialog.stories.tsx +6 -6
  343. package/src/containers/ResetDialog/ResetDialog.tsx +16 -6
  344. package/src/containers/index.ts +2 -0
  345. package/src/index.ts +2 -4
  346. package/src/meta.ts +7 -4
  347. package/src/operations/create-agent.ts +26 -0
  348. package/src/operations/create-identity.ts +37 -0
  349. package/src/operations/create-passkey.ts +88 -0
  350. package/src/operations/create-recovery-code.ts +34 -0
  351. package/src/operations/definitions.ts +115 -0
  352. package/src/operations/index.ts +20 -0
  353. package/src/operations/join-identity.ts +28 -0
  354. package/src/operations/recover-identity.ts +28 -0
  355. package/src/operations/redeem-passkey.ts +85 -0
  356. package/src/operations/redeem-token.ts +31 -0
  357. package/src/operations/reset-storage.ts +27 -0
  358. package/src/operations/share-identity.ts +26 -0
  359. package/src/plugin.ts +11 -0
  360. package/src/state/account-cache.ts +33 -0
  361. package/src/state/use-hub-http.ts +32 -0
  362. package/src/testing/index.ts +6 -0
  363. package/src/testing/initializeIdentity.ts +30 -0
  364. package/src/translations.ts +85 -43
  365. package/src/types/capabilities.ts +8 -1
  366. package/src/types/events.ts +1 -1
  367. package/src/types/schema.ts +7 -114
  368. package/dist/lib/browser/DevicesContainer-3N7ANEJ7.mjs.map +0 -7
  369. package/dist/lib/browser/JoinDialog-VTTK7NHO.mjs.map +0 -7
  370. package/dist/lib/browser/ProfileContainer-XV7OXJC2.mjs.map +0 -7
  371. package/dist/lib/browser/RecoveryCodeDialog-WO34OZEJ.mjs.map +0 -7
  372. package/dist/lib/browser/RecoveryCredentialsContainer-G22FSTIX.mjs.map +0 -7
  373. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs +0 -52
  374. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs.map +0 -7
  375. package/dist/lib/browser/app-graph-builder-GGJKFY3X.mjs +0 -121
  376. package/dist/lib/browser/app-graph-builder-GGJKFY3X.mjs.map +0 -7
  377. package/dist/lib/browser/chunk-FVEKZBM7.mjs +0 -283
  378. package/dist/lib/browser/chunk-FVEKZBM7.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-GSVYEYVS.mjs +0 -18
  380. package/dist/lib/browser/chunk-GSVYEYVS.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-HSFDKP5D.mjs +0 -15
  382. package/dist/lib/browser/chunk-HSFDKP5D.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-JHSBBOCI.mjs +0 -15
  384. package/dist/lib/browser/chunk-JHSBBOCI.mjs.map +0 -7
  385. package/dist/lib/browser/cli/index.mjs.map +0 -7
  386. package/dist/lib/browser/client-BXCP3EUE.mjs.map +0 -7
  387. package/dist/lib/browser/index.mjs +0 -149
  388. package/dist/lib/browser/index.mjs.map +0 -7
  389. package/dist/lib/browser/meta.json +0 -1
  390. package/dist/lib/browser/migrations-GKUA2ARL.mjs.map +0 -7
  391. package/dist/lib/browser/operation-resolver-VSWA74RS.mjs +0 -299
  392. package/dist/lib/browser/operation-resolver-VSWA74RS.mjs.map +0 -7
  393. package/dist/lib/browser/react-context-GZ3T5UON.mjs.map +0 -7
  394. package/dist/lib/browser/react-surface-5VZP34X3.mjs.map +0 -7
  395. package/dist/lib/browser/schema-defs-KAG6HQMI.mjs +0 -28
  396. package/dist/lib/browser/schema-defs-KAG6HQMI.mjs.map +0 -7
  397. package/dist/lib/node-esm/DevicesContainer-V7HEUPO7.mjs +0 -269
  398. package/dist/lib/node-esm/DevicesContainer-V7HEUPO7.mjs.map +0 -7
  399. package/dist/lib/node-esm/JoinDialog-XVKW4SLT.mjs +0 -60
  400. package/dist/lib/node-esm/JoinDialog-XVKW4SLT.mjs.map +0 -7
  401. package/dist/lib/node-esm/ProfileContainer-B5LJ6TMU.mjs +0 -172
  402. package/dist/lib/node-esm/ProfileContainer-B5LJ6TMU.mjs.map +0 -7
  403. package/dist/lib/node-esm/RecoveryCodeDialog-YIRGXM7N.mjs +0 -61
  404. package/dist/lib/node-esm/RecoveryCodeDialog-YIRGXM7N.mjs.map +0 -7
  405. package/dist/lib/node-esm/RecoveryCredentialsContainer-MVJEFNXX.mjs +0 -58
  406. package/dist/lib/node-esm/RecoveryCredentialsContainer-MVJEFNXX.mjs.map +0 -7
  407. package/dist/lib/node-esm/ResetDialog-GGBWSQZO.mjs.map +0 -7
  408. package/dist/lib/node-esm/app-graph-builder-PTNZ46NN.mjs.map +0 -7
  409. package/dist/lib/node-esm/chunk-BOTJSPCT.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-DT2ZNOGU.mjs +0 -284
  411. package/dist/lib/node-esm/chunk-DT2ZNOGU.mjs.map +0 -7
  412. package/dist/lib/node-esm/chunk-OFJUOKY7.mjs +0 -20
  413. package/dist/lib/node-esm/chunk-OFJUOKY7.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs +0 -16
  415. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs.map +0 -7
  416. package/dist/lib/node-esm/cli/index.mjs +0 -1060
  417. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  418. package/dist/lib/node-esm/client-EGZHGRRC.mjs +0 -87
  419. package/dist/lib/node-esm/client-EGZHGRRC.mjs.map +0 -7
  420. package/dist/lib/node-esm/index.mjs +0 -150
  421. package/dist/lib/node-esm/index.mjs.map +0 -7
  422. package/dist/lib/node-esm/meta.json +0 -1
  423. package/dist/lib/node-esm/migrations-4NEKCBGU.mjs +0 -26
  424. package/dist/lib/node-esm/migrations-4NEKCBGU.mjs.map +0 -7
  425. package/dist/lib/node-esm/operation-resolver-4GWB3YZG.mjs +0 -300
  426. package/dist/lib/node-esm/operation-resolver-4GWB3YZG.mjs.map +0 -7
  427. package/dist/lib/node-esm/react-context-T2ORT5CC.mjs +0 -27
  428. package/dist/lib/node-esm/react-context-T2ORT5CC.mjs.map +0 -7
  429. package/dist/lib/node-esm/react-surface-B65OUZYI.mjs +0 -78
  430. package/dist/lib/node-esm/react-surface-B65OUZYI.mjs.map +0 -7
  431. package/dist/lib/node-esm/schema-defs-GXQ47JZN.mjs +0 -29
  432. package/dist/lib/node-esm/schema-defs-GXQ47JZN.mjs.map +0 -7
  433. package/dist/lib/node-esm/types/index.mjs +0 -17
  434. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  435. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  436. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  437. package/dist/types/src/capabilities/client/client.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/client/index.d.ts +0 -18
  439. package/dist/types/src/capabilities/client/index.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/migrations/index.d.ts +0 -3
  441. package/dist/types/src/capabilities/migrations/index.d.ts.map +0 -1
  442. package/dist/types/src/capabilities/migrations/migrations.d.ts.map +0 -1
  443. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -5
  444. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  445. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -8
  446. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  448. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  450. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  451. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  452. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/schema-defs/index.d.ts +0 -3
  454. package/dist/types/src/capabilities/schema-defs/index.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +0 -1
  456. package/dist/types/src/cli/commands/config/index.d.ts.map +0 -1
  457. package/dist/types/src/cli/commands/config/view.d.ts.map +0 -1
  458. package/dist/types/src/cli/commands/device/index.d.ts.map +0 -1
  459. package/dist/types/src/cli/commands/device/info/index.d.ts.map +0 -1
  460. package/dist/types/src/cli/commands/device/info/info.d.ts.map +0 -1
  461. package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +0 -1
  462. package/dist/types/src/cli/commands/device/list/index.d.ts.map +0 -1
  463. package/dist/types/src/cli/commands/device/list/list.d.ts.map +0 -1
  464. package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +0 -1
  465. package/dist/types/src/cli/commands/device/update/index.d.ts.map +0 -1
  466. package/dist/types/src/cli/commands/device/update/update.d.ts.map +0 -1
  467. package/dist/types/src/cli/commands/device/util.d.ts.map +0 -1
  468. package/dist/types/src/cli/commands/edge/index.d.ts.map +0 -1
  469. package/dist/types/src/cli/commands/edge/status.d.ts.map +0 -1
  470. package/dist/types/src/cli/commands/halo/create/create.d.ts.map +0 -1
  471. package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +0 -1
  472. package/dist/types/src/cli/commands/halo/create/index.d.ts.map +0 -1
  473. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +0 -1
  474. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +0 -1
  475. package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +0 -1
  476. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +0 -1
  477. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +0 -1
  478. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +0 -1
  479. package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +0 -1
  480. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +0 -1
  481. package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +0 -1
  482. package/dist/types/src/cli/commands/halo/index.d.ts.map +0 -1
  483. package/dist/types/src/cli/commands/halo/join/index.d.ts.map +0 -1
  484. package/dist/types/src/cli/commands/halo/join/join.d.ts.map +0 -1
  485. package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +0 -1
  486. package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +0 -1
  487. package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +0 -1
  488. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +0 -1
  489. package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +0 -1
  490. package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +0 -1
  491. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +0 -1
  492. package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +0 -1
  493. package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +0 -1
  494. package/dist/types/src/cli/commands/halo/share/index.d.ts.map +0 -1
  495. package/dist/types/src/cli/commands/halo/share/share.d.ts.map +0 -1
  496. package/dist/types/src/cli/commands/halo/update/index.d.ts.map +0 -1
  497. package/dist/types/src/cli/commands/halo/update/update.d.ts.map +0 -1
  498. package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +0 -1
  499. package/dist/types/src/cli/commands/halo/util.d.ts.map +0 -1
  500. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  501. package/dist/types/src/cli/commands/profile/create.d.ts.map +0 -1
  502. package/dist/types/src/cli/commands/profile/delete.d.ts.map +0 -1
  503. package/dist/types/src/cli/commands/profile/import.d.ts.map +0 -1
  504. package/dist/types/src/cli/commands/profile/index.d.ts.map +0 -1
  505. package/dist/types/src/cli/commands/profile/inspect.d.ts.map +0 -1
  506. package/dist/types/src/cli/commands/profile/list.d.ts.map +0 -1
  507. package/dist/types/src/cli/commands/profile/reset.d.ts.map +0 -1
  508. package/dist/types/src/cli/commands/profile/util.d.ts.map +0 -1
  509. package/dist/types/src/cli/index.d.ts +0 -2
  510. package/dist/types/src/cli/index.d.ts.map +0 -1
  511. package/dist/types/src/cli/plugin.d.ts +0 -4
  512. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  513. package/dist/types/src/cli/testing/test-console.d.ts +0 -37
  514. package/dist/types/src/cli/testing/test-console.d.ts.map +0 -1
  515. package/src/capabilities/app-graph-builder/index.ts +0 -7
  516. package/src/capabilities/client/index.ts +0 -7
  517. package/src/capabilities/migrations/index.ts +0 -7
  518. package/src/capabilities/operation-resolver/index.ts +0 -7
  519. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -249
  520. package/src/capabilities/react-context/index.ts +0 -7
  521. package/src/capabilities/react-surface/index.ts +0 -7
  522. package/src/capabilities/schema-defs/index.ts +0 -7
  523. package/src/capabilities/schema-defs/schema-defs.ts +0 -36
  524. package/src/cli/index.ts +0 -5
  525. package/src/cli/testing/test-console.ts +0 -88
  526. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  527. /package/dist/lib/{node-esm/types → neutral/components}/index.mjs.map +0 -0
  528. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  529. /package/dist/types/src/capabilities/{migrations/migrations.d.ts → migrations.d.ts} +0 -0
  530. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
  531. /package/dist/types/src/capabilities/{schema-defs/schema-defs.d.ts → schema-defs.d.ts} +0 -0
  532. /package/dist/types/src/{cli/commands → commands}/device/index.d.ts +0 -0
  533. /package/dist/types/src/{cli/commands → commands}/device/info/index.d.ts +0 -0
  534. /package/dist/types/src/{cli/commands → commands}/device/info/info.test.d.ts +0 -0
  535. /package/dist/types/src/{cli/commands → commands}/device/list/index.d.ts +0 -0
  536. /package/dist/types/src/{cli/commands → commands}/device/list/list.test.d.ts +0 -0
  537. /package/dist/types/src/{cli/commands → commands}/device/update/index.d.ts +0 -0
  538. /package/dist/types/src/{cli/commands → commands}/device/update/update.d.ts +0 -0
  539. /package/dist/types/src/{cli/commands → commands}/device/util.d.ts +0 -0
  540. /package/dist/types/src/{cli/commands → commands}/edge/index.d.ts +0 -0
  541. /package/dist/types/src/{cli/commands → commands}/edge/status.d.ts +0 -0
  542. /package/dist/types/src/{cli/commands → commands}/halo/create/create.test.d.ts +0 -0
  543. /package/dist/types/src/{cli/commands → commands}/halo/create/index.d.ts +0 -0
  544. /package/dist/types/src/{cli/commands → commands}/halo/credential/add/add.d.ts +0 -0
  545. /package/dist/types/src/{cli/commands → commands}/halo/credential/add/index.d.ts +0 -0
  546. /package/dist/types/src/{cli/commands → commands}/halo/credential/index.d.ts +0 -0
  547. /package/dist/types/src/{cli/commands → commands}/halo/credential/list/index.d.ts +0 -0
  548. /package/dist/types/src/{cli/commands → commands}/halo/credential/list/list.test.d.ts +0 -0
  549. /package/dist/types/src/{cli/commands → commands}/halo/identity/identity.test.d.ts +0 -0
  550. /package/dist/types/src/{cli/commands → commands}/halo/identity/index.d.ts +0 -0
  551. /package/dist/types/src/{cli/commands → commands}/halo/index.d.ts +0 -0
  552. /package/dist/types/src/{cli/commands → commands}/halo/join/index.d.ts +0 -0
  553. /package/dist/types/src/{cli/commands → commands}/halo/join/join.test.d.ts +0 -0
  554. /package/dist/types/src/{cli/commands → commands}/halo/keys/index.d.ts +0 -0
  555. /package/dist/types/src/{cli/commands → commands}/halo/keys/keys.test.d.ts +0 -0
  556. /package/dist/types/src/{cli/commands → commands}/halo/recover/index.d.ts +0 -0
  557. /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.d.ts +0 -0
  558. /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.test.d.ts +0 -0
  559. /package/dist/types/src/{cli/commands → commands}/halo/seed/index.d.ts +0 -0
  560. /package/dist/types/src/{cli/commands → commands}/halo/seed/seed.d.ts +0 -0
  561. /package/dist/types/src/{cli/commands → commands}/halo/share/index.d.ts +0 -0
  562. /package/dist/types/src/{cli/commands → commands}/halo/share/share.d.ts +0 -0
  563. /package/dist/types/src/{cli/commands → commands}/halo/update/index.d.ts +0 -0
  564. /package/dist/types/src/{cli/commands → commands}/halo/update/update.d.ts +0 -0
  565. /package/dist/types/src/{cli/commands → commands}/halo/update/update.test.d.ts +0 -0
  566. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  567. /package/dist/types/src/{cli/commands → commands}/profile/delete.d.ts +0 -0
  568. /package/dist/types/src/{cli/commands → commands}/profile/inspect.d.ts +0 -0
  569. /package/dist/types/src/{cli/commands → commands}/profile/list.d.ts +0 -0
  570. /package/dist/types/src/{cli/commands → commands}/profile/util.d.ts +0 -0
  571. /package/src/{cli/commands → commands}/config/index.ts +0 -0
  572. /package/src/{cli/commands → commands}/device/index.ts +0 -0
  573. /package/src/{cli/commands → commands}/device/info/index.ts +0 -0
  574. /package/src/{cli/commands → commands}/device/list/index.ts +0 -0
  575. /package/src/{cli/commands → commands}/device/update/index.ts +0 -0
  576. /package/src/{cli/commands → commands}/device/util.ts +0 -0
  577. /package/src/{cli/commands → commands}/edge/index.ts +0 -0
  578. /package/src/{cli/commands → commands}/halo/create/index.ts +0 -0
  579. /package/src/{cli/commands → commands}/halo/credential/add/add.ts +0 -0
  580. /package/src/{cli/commands → commands}/halo/credential/add/index.ts +0 -0
  581. /package/src/{cli/commands → commands}/halo/credential/index.ts +0 -0
  582. /package/src/{cli/commands → commands}/halo/credential/list/index.ts +0 -0
  583. /package/src/{cli/commands → commands}/halo/identity/index.ts +0 -0
  584. /package/src/{cli/commands → commands}/halo/index.ts +0 -0
  585. /package/src/{cli/commands → commands}/halo/join/index.ts +0 -0
  586. /package/src/{cli/commands → commands}/halo/join/join.test.ts +0 -0
  587. /package/src/{cli/commands → commands}/halo/keys/index.ts +0 -0
  588. /package/src/{cli/commands → commands}/halo/keys/keys.test.ts +0 -0
  589. /package/src/{cli/commands → commands}/halo/recover/index.ts +0 -0
  590. /package/src/{cli/commands → commands}/halo/recover/recover.test.ts +0 -0
  591. /package/src/{cli/commands → commands}/halo/seed/index.ts +0 -0
  592. /package/src/{cli/commands → commands}/halo/share/index.ts +0 -0
  593. /package/src/{cli/commands → commands}/halo/share/share.ts +0 -0
  594. /package/src/{cli/commands → commands}/halo/update/index.ts +0 -0
  595. /package/src/{cli/commands → commands}/index.ts +0 -0
  596. /package/src/{cli/commands → commands}/profile/create.ts +0 -0
  597. /package/src/{cli/commands → commands}/profile/delete.ts +0 -0
  598. /package/src/{cli/commands → commands}/profile/import.ts +0 -0
  599. /package/src/{cli/commands → commands}/profile/index.ts +0 -0
  600. /package/src/{cli/commands → commands}/profile/inspect.ts +0 -0
  601. /package/src/{cli/commands → commands}/profile/reset.ts +0 -0
  602. /package/src/{cli/commands → commands}/profile/util.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-context/react-context.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { ClientProvider } from '@dxos/react-client';\n\nimport { meta } from '../../meta';\nimport { ClientCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactContext, {\n id: meta.id,\n context: ({ children }: { children?: React.ReactNode }) => {\n const client = useCapability(ClientCapabilities.Client);\n return <ClientProvider client={client}>{children}</ClientProvider>;\n },\n }),\n ),\n);\n"],
5
- "mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAK/B,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,IAAIC,KAAKD;EACTE,SAAS,CAAC,EAAEC,SAAQ,MAAkC;AACpD,UAAMC,SAASC,cAAcC,mBAAmBC,MAAM;AACtD,WAAO,sBAAA,cAACC,gBAAAA;MAAeJ;OAAiBD,QAAAA;EAC1C;AACF,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capabilities", "Capability", "useCapability", "ClientProvider", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactContext", "id", "meta", "context", "children", "client", "useCapability", "ClientCapabilities", "Client", "ClientProvider"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/containers/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { JOIN_DIALOG, RECOVERY_CODE_DIALOG, RESET_DIALOG } from '../../constants';\nimport {\n DevicesContainer,\n JoinDialog,\n ProfileContainer,\n RecoveryCodeDialog,\n type RecoveryCodeDialogProps,\n RecoveryCredentialsContainer,\n ResetDialog,\n type ResetDialogProps,\n} from '../../containers';\nimport { Account, type ClientPluginOptions } from '../../types';\n\ntype ReactSurfaceOptions = Pick<ClientPluginOptions, 'onReset'> & {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ createInvitationUrl, onReset }: ReactSurfaceOptions) {\n const capabilityManager = yield* Capability.Service;\n\n return Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: Account.Profile,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Profile,\n component: () => <ProfileContainer />,\n }),\n Surface.create({\n id: Account.Devices,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Devices,\n component: () => <DevicesContainer createInvitationUrl={createInvitationUrl} />,\n }),\n Surface.create({\n id: Account.Security,\n role: 'article',\n filter: (data): data is any => data.subject === Account.Security,\n component: () => <RecoveryCredentialsContainer />,\n }),\n Surface.create({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }: { data: any }) => <JoinDialog {...data.props} />,\n }),\n Surface.create({\n id: RECOVERY_CODE_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVERY_CODE_DIALOG,\n component: ({ data }: { data: any }) => <RecoveryCodeDialog {...data.props} />,\n }),\n Surface.create({\n id: RESET_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: ResetDialogProps } => data.component === RESET_DIALOG,\n component: ({ data }: { data: any }) => (\n <ResetDialog {...data.props} onReset={onReset} capabilityManager={capabilityManager} />\n ),\n }),\n ]);\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport { type RecoveryCodeDialogProps } from './RecoveryCodeDialog';\nexport { type ResetDialogProps } from './ResetDialog';\n\nexport const DevicesContainer: ComponentType<any> = lazy(() => import('./DevicesContainer'));\nexport const JoinDialog: ComponentType<any> = lazy(() => import('./JoinDialog'));\nexport const ProfileContainer: ComponentType<any> = lazy(() => import('./ProfileContainer'));\nexport const RecoveryCodeDialog: ComponentType<any> = lazy(() => import('./RecoveryCodeDialog'));\nexport const RecoveryCredentialsContainer: ComponentType<any> = lazy(() => import('./RecoveryCredentialsContainer'));\nexport const ResetDialog: ComponentType<any> = lazy(() => import('./ResetDialog'));\n"],
5
- "mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;;;ACJxB,SAA6BC,YAAY;AAKlC,IAAMC,mBAAuCC,KAAK,MAAM,OAAO,iCAAA,CAAA;AAC/D,IAAMC,aAAiCD,KAAK,MAAM,OAAO,2BAAA,CAAA;AACzD,IAAME,mBAAuCF,KAAK,MAAM,OAAO,iCAAA,CAAA;AAC/D,IAAMG,qBAAyCH,KAAK,MAAM,OAAO,mCAAA,CAAA;AACjE,IAAMI,+BAAmDJ,KAAK,MAAM,OAAO,6CAAA,CAAA;AAC3E,IAAMK,cAAkCL,KAAK,MAAM,OAAO,4BAAA,CAAA;;;ADcjE,IAAA,wBAAeM,WAAWC,WACjBC,kBAAW,WAAW,EAAEC,qBAAqBC,QAAO,GAAuB;AAChF,QAAMC,oBAAoB,OAAOL,WAAWM;AAE5C,SAAON,WAAWO,YAAYC,aAAaC,cAAc;IACvDC,QAAQC,OAAO;MACbC,IAAIC,QAAQC;MACZC,MAAM;MACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQC;MACxDK,WAAW,MAAM,sBAAA,cAACC,kBAAAA,IAAAA;IACpB,CAAA;IACAV,QAAQC,OAAO;MACbC,IAAIC,QAAQQ;MACZN,MAAM;MACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQQ;MACxDF,WAAW,MAAM,sBAAA,cAACG,kBAAAA;QAAiBnB;;IACrC,CAAA;IACAO,QAAQC,OAAO;MACbC,IAAIC,QAAQU;MACZR,MAAM;MACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYL,QAAQU;MACxDJ,WAAW,MAAM,sBAAA,cAACK,8BAAAA,IAAAA;IACpB,CAAA;IACAd,QAAQC,OAAO;MACbC,IAAIa;MACJV,MAAM;MACNC,QAAQ,CAACC,SAA4CA,KAAKE,cAAcM;MACxEN,WAAW,CAAC,EAAEF,KAAI,MAAsB,sBAAA,cAACS,YAAeT,KAAKU,KAAK;IACpE,CAAA;IACAjB,QAAQC,OAAO;MACbC,IAAIgB;MACJb,MAAM;MACNC,QAAQ,CAACC,SAAqDA,KAAKE,cAAcS;MACjFT,WAAW,CAAC,EAAEF,KAAI,MAAsB,sBAAA,cAACY,oBAAuBZ,KAAKU,KAAK;IAC5E,CAAA;IACAjB,QAAQC,OAAO;MACbC,IAAIkB;MACJf,MAAM;MACNC,QAAQ,CAACC,SAA8CA,KAAKE,cAAcW;MAC1EX,WAAW,CAAC,EAAEF,KAAI,MAChB,sBAAA,cAACc,aAAAA;QAAa,GAAGd,KAAKU;QAAOvB;QAAkBC;;IAEnD,CAAA;GACD;AACH,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "lazy", "DevicesContainer", "lazy", "JoinDialog", "ProfileContainer", "RecoveryCodeDialog", "RecoveryCredentialsContainer", "ResetDialog", "Capability", "makeModule", "fnUntraced", "createInvitationUrl", "onReset", "capabilityManager", "Service", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "Account", "Profile", "role", "filter", "data", "subject", "component", "ProfileContainer", "Devices", "DevicesContainer", "Security", "RecoveryCredentialsContainer", "JOIN_DIALOG", "JoinDialog", "props", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "RESET_DIALOG", "ResetDialog"]
7
- }
@@ -1,28 +0,0 @@
1
- import {
2
- ClientCapabilities
3
- } from "./chunk-FVEKZBM7.mjs";
4
- import "./chunk-JHSBBOCI.mjs";
5
-
6
- // src/capabilities/schema-defs/schema-defs.ts
7
- import * as Effect from "effect/Effect";
8
- import { Capabilities, Capability } from "@dxos/app-framework";
9
- import { AppCapabilities } from "@dxos/app-toolkit";
10
- var schema_defs_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
12
- const client = yield* Capability.get(ClientCapabilities.Client);
13
- const schemasAtom = yield* Capability.atom(AppCapabilities.Schema);
14
- let previous = [];
15
- const cancel = registry.subscribe(schemasAtom, async (_schemas) => {
16
- const schemas = Array.from(new Set(_schemas.flat()));
17
- const newSchemas = schemas.filter((schema) => !previous.includes(schema));
18
- previous = schemas;
19
- await client.addTypes(newSchemas);
20
- }, {
21
- immediate: true
22
- });
23
- return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => cancel()));
24
- }));
25
- export {
26
- schema_defs_default as default
27
- };
28
- //# sourceMappingURL=schema-defs-KAG6HQMI.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/schema-defs/schema-defs.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { type Type } from '@dxos/echo';\n\nimport { ClientCapabilities } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const schemasAtom = yield* Capability.atom(AppCapabilities.Schema);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: Type.AnyEntity[] = [];\n const cancel = registry.subscribe(\n schemasAtom,\n async (_schemas: any[]) => {\n // TODO(wittjosiah): This doesn't seem to de-dupe schemas as expected.\n const schemas = Array.from(new Set(_schemas.flat())) as Type.AnyEntity[];\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = schemas.filter((schema) => !previous.includes(schema));\n previous = schemas;\n await client.addTypes(newSchemas);\n },\n { immediate: true },\n );\n\n return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => cancel()));\n }),\n);\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAKhC,IAAA,sBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,WAAW,OAAOH,WAAWI,IAAIC,aAAaC,YAAY;AAChE,QAAMC,SAAS,OAAOP,WAAWI,IAAII,mBAAmBC,MAAM;AAC9D,QAAMC,cAAc,OAAOV,WAAWW,KAAKC,gBAAgBC,MAAM;AAGjE,MAAIC,WAA6B,CAAA;AACjC,QAAMC,SAASZ,SAASa,UACtBN,aACA,OAAOO,aAAAA;AAEL,UAAMC,UAAUC,MAAMC,KAAK,IAAIC,IAAIJ,SAASK,KAAI,CAAA,CAAA;AAEhD,UAAMC,aAAaL,QAAQM,OAAO,CAACC,WAAW,CAACX,SAASY,SAASD,MAAAA,CAAAA;AACjEX,eAAWI;AACX,UAAMX,OAAOoB,SAASJ,UAAAA;EACxB,GACA;IAAEK,WAAW;EAAK,CAAA;AAGpB,SAAO5B,WAAW6B,YAAYxB,aAAayB,MAAM,MAAM,MAAaC,YAAK,MAAMhB,OAAAA,CAAAA,CAAAA;AACjF,CAAA,CAAA;",
6
- "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Capability", "makeModule", "fnUntraced", "registry", "get", "Capabilities", "AtomRegistry", "client", "ClientCapabilities", "Client", "schemasAtom", "atom", "AppCapabilities", "Schema", "previous", "cancel", "subscribe", "_schemas", "schemas", "Array", "from", "Set", "flat", "newSchemas", "filter", "schema", "includes", "addTypes", "immediate", "contributes", "Null", "sync"]
7
- }
@@ -1,269 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ClientOperation
4
- } from "./chunk-DT2ZNOGU.mjs";
5
- import {
6
- meta
7
- } from "./chunk-BOTJSPCT.mjs";
8
-
9
- // src/containers/DevicesContainer/DevicesContainer.tsx
10
- import React, { useCallback, useEffect, useState } from "react";
11
- import { QR } from "react-qr-rounded";
12
- import { useOperationInvoker } from "@dxos/app-framework/ui";
13
- import { log } from "@dxos/log";
14
- import { useClient, useMulticastObservable } from "@dxos/react-client";
15
- import { useDevices } from "@dxos/react-client/halo";
16
- import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
17
- import { useNetworkStatus } from "@dxos/react-client/mesh";
18
- import { Button, Clipboard, Icon, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
19
- import { Settings } from "@dxos/react-ui-form";
20
- import { AuthCode, Centered, DeviceListItem, Emoji, Viewport, translationKey } from "@dxos/shell/react";
21
- import { osTranslations } from "@dxos/ui-theme";
22
- import { hexToEmoji } from "@dxos/util";
23
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/containers/DevicesContainer/DevicesContainer.tsx";
24
- var DevicesContainer = ({ createInvitationUrl }) => {
25
- const { t } = useTranslation(translationKey);
26
- const { invokePromise } = useOperationInvoker();
27
- const devices = useDevices();
28
- const { swarm: connectionState } = useNetworkStatus();
29
- const handleResetStorage = useCallback(() => invokePromise(ClientOperation.ResetStorage, {}), [
30
- invokePromise
31
- ]);
32
- const handleRecover = useCallback(() => invokePromise(ClientOperation.ResetStorage, {
33
- mode: "recover"
34
- }), [
35
- invokePromise
36
- ]);
37
- const handleJoinNewIdentity = useCallback(() => invokePromise(ClientOperation.ResetStorage, {
38
- mode: "join new identity"
39
- }), [
40
- invokePromise
41
- ]);
42
- return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(Settings.Root, null, /* @__PURE__ */ React.createElement(Settings.Section, {
43
- title: t("devices verbose label", {
44
- ns: meta.id
45
- }),
46
- description: t("devices description", {
47
- ns: meta.id
48
- })
49
- }, /* @__PURE__ */ React.createElement(Settings.Frame, null, /* @__PURE__ */ React.createElement(Settings.FrameItem, {
50
- title: t("devices label", {
51
- ns: meta.id
52
- })
53
- }, /* @__PURE__ */ React.createElement(List, null, devices.map((device) => /* @__PURE__ */ React.createElement(DeviceListItem, {
54
- key: device.deviceKey.toHex(),
55
- device,
56
- connectionState
57
- })))), createInvitationUrl && /* @__PURE__ */ React.createElement(Settings.FrameItem, {
58
- title: "Add device"
59
- }, /* @__PURE__ */ React.createElement(DeviceInvitation, {
60
- createInvitationUrl
61
- })))), /* @__PURE__ */ React.createElement(Settings.Section, {
62
- title: t("danger zone title", {
63
- ns: meta.id
64
- }),
65
- description: t("danger zone description", {
66
- ns: meta.id
67
- })
68
- }, /* @__PURE__ */ React.createElement(Settings.Group, null, /* @__PURE__ */ React.createElement(Settings.Item, {
69
- title: t("reset device label"),
70
- description: t("reset device description", {
71
- ns: meta.id
72
- })
73
- }, /* @__PURE__ */ React.createElement(Button, {
74
- variant: "destructive",
75
- onClick: handleResetStorage,
76
- "data-testid": "devicesContainer.reset"
77
- }, t("reset device label"))), /* @__PURE__ */ React.createElement(Settings.Item, {
78
- title: t("recover identity label"),
79
- description: t("recover identity description", {
80
- ns: meta.id
81
- })
82
- }, /* @__PURE__ */ React.createElement(Button, {
83
- variant: "destructive",
84
- onClick: handleRecover,
85
- "data-testid": "devicesContainer.recover"
86
- }, t("recover identity label"))), /* @__PURE__ */ React.createElement(Settings.Item, {
87
- title: t("join new identity label"),
88
- description: t("join new identity description", {
89
- ns: meta.id
90
- })
91
- }, /* @__PURE__ */ React.createElement(Button, {
92
- variant: "destructive",
93
- onClick: handleJoinNewIdentity,
94
- "data-testid": "devicesContainer.joinExisting"
95
- }, t("join new identity label")))))));
96
- };
97
- var DeviceInvitation = (props) => {
98
- const client = useClient();
99
- const [invitation, setInvitation] = useState();
100
- const onInvitationCreate = useCallback(() => {
101
- const invitation2 = client.halo.share();
102
- if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
103
- const subscription = invitation2.subscribe((invitation3) => {
104
- const invitationCode = InvitationEncoder.encode(invitation3);
105
- if (invitation3.state === Invitation.State.CONNECTING) {
106
- log.info(JSON.stringify({
107
- invitationCode,
108
- authCode: invitation3.authCode
109
- }), void 0, {
110
- F: __dxlog_file,
111
- L: 117,
112
- S: void 0,
113
- C: (f, a) => f(...a)
114
- });
115
- subscription.unsubscribe();
116
- }
117
- });
118
- }
119
- setInvitation(invitation2);
120
- }, [
121
- client
122
- ]);
123
- const onInvitationDone = useCallback(() => {
124
- setInvitation(void 0);
125
- }, []);
126
- if (invitation) {
127
- return /* @__PURE__ */ React.createElement(DeviceInvitationImpl, {
128
- ...props,
129
- invitation,
130
- onInvitationCreate,
131
- onInvitationDone
132
- });
133
- } else {
134
- return /* @__PURE__ */ React.createElement(InvitationSection, {
135
- ...props,
136
- onInvitationCreate,
137
- onInvitationDone
138
- });
139
- }
140
- };
141
- var DeviceInvitationImpl = ({ invitation: invitationObservable, createInvitationUrl, onInvitationDone, onInvitationCreate }) => {
142
- const invitation = useMulticastObservable(invitationObservable);
143
- const url = createInvitationUrl(InvitationEncoder.encode(invitation));
144
- useEffect(() => {
145
- if (invitation.state >= Invitation.State.SUCCESS) {
146
- onInvitationDone();
147
- }
148
- }, [
149
- invitation.state
150
- ]);
151
- return /* @__PURE__ */ React.createElement(InvitationSection, {
152
- ...invitation,
153
- url,
154
- onInvitationDone,
155
- onInvitationCreate
156
- });
157
- };
158
- var InvitationSection = ({ state = -1, authCode, invitationId = "never", url = "never", onInvitationDone = () => {
159
- }, onInvitationCreate = () => {
160
- } }) => {
161
- const { t } = useTranslation(meta.id);
162
- const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
163
- return activeView === "init" ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
164
- className: "text-description mb-2"
165
- }, t("add device description")), /* @__PURE__ */ React.createElement(IconButton, {
166
- icon: "ph--plus--regular",
167
- label: t("create device invitation label"),
168
- disabled: state >= 0,
169
- classNames: "w-full",
170
- "data-testid": "devicesContainer.createInvitation",
171
- onClick: onInvitationCreate
172
- })) : /* @__PURE__ */ React.createElement(Viewport.Root, {
173
- activeView
174
- }, /* @__PURE__ */ React.createElement(Viewport.Views, null, /* @__PURE__ */ React.createElement(Viewport.View, {
175
- id: "init"
176
- }), /* @__PURE__ */ React.createElement(Viewport.View, {
177
- id: "complete"
178
- }, /* @__PURE__ */ React.createElement(InvitationComplete, {
179
- statusValue: state
180
- })), /* @__PURE__ */ React.createElement(Viewport.View, {
181
- id: "auth-code"
182
- }, /* @__PURE__ */ React.createElement(InvitationAuthCode, {
183
- id: invitationId,
184
- code: authCode ?? "never",
185
- onCancel: onInvitationDone
186
- })), /* @__PURE__ */ React.createElement(Viewport.View, {
187
- id: "qr-code"
188
- }, /* @__PURE__ */ React.createElement(InvitationQR, {
189
- id: invitationId,
190
- url,
191
- onCancel: onInvitationDone
192
- }))));
193
- };
194
- var InvitationQR = ({ id, url, onCancel }) => {
195
- const { t } = useTranslation(osTranslations);
196
- const qrLabel = useId("devices-container__qr-code");
197
- const emoji = hexToEmoji(id);
198
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
199
- className: "text-description"
200
- }, t("qr code description", {
201
- ns: meta.id
202
- })), /* @__PURE__ */ React.createElement("div", {
203
- role: "group",
204
- className: "grid grid-cols-[1fr_min-content]"
205
- }, /* @__PURE__ */ React.createElement("div", {
206
- className: "flex justify-center py-4"
207
- }, /* @__PURE__ */ React.createElement("div", {
208
- role: "none",
209
- className: "w-full md:max-w-80 aspect-square relative text-description"
210
- }, /* @__PURE__ */ React.createElement(QR, {
211
- rounding: 100,
212
- backgroundColor: "transparent",
213
- color: "currentColor",
214
- "aria-labelledby": qrLabel,
215
- errorCorrectionLevel: "Q",
216
- cutout: true
217
- }, url ?? "never"), /* @__PURE__ */ React.createElement(Centered, null, /* @__PURE__ */ React.createElement(Emoji, {
218
- text: emoji
219
- })))), /* @__PURE__ */ React.createElement("span", {
220
- id: qrLabel,
221
- className: "sr-only"
222
- }, t("qr label"))), /* @__PURE__ */ React.createElement("div", {
223
- className: "flex justify-center"
224
- }, /* @__PURE__ */ React.createElement("div", {
225
- className: "flex gap-2"
226
- }, /* @__PURE__ */ React.createElement(Clipboard.Button, {
227
- value: url ?? "never"
228
- }), /* @__PURE__ */ React.createElement(Button, {
229
- variant: "ghost",
230
- onClick: onCancel
231
- }, t("cancel label")))));
232
- };
233
- var InvitationAuthCode = ({ id, code, onCancel }) => {
234
- const { t } = useTranslation(osTranslations);
235
- const emoji = hexToEmoji(id);
236
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
237
- className: "text-description"
238
- }, t("auth other device emoji message")), emoji && /* @__PURE__ */ React.createElement(Emoji, {
239
- text: emoji,
240
- className: "mx-auto my-2 text-center"
241
- }), /* @__PURE__ */ React.createElement("p", {
242
- className: "text-description"
243
- }, t("auth code message")), /* @__PURE__ */ React.createElement(AuthCode, {
244
- code,
245
- large: true,
246
- classNames: "mx-auto my-2 text-center grow"
247
- }), /* @__PURE__ */ React.createElement(Button, {
248
- variant: "ghost",
249
- onClick: onCancel
250
- }, t("cancel label")));
251
- };
252
- var InvitationComplete = ({ statusValue }) => {
253
- return statusValue > 0 ? /* @__PURE__ */ React.createElement(Icon, {
254
- icon: "ph--check--regular",
255
- size: 6,
256
- classNames: "m-1.5"
257
- }) : /* @__PURE__ */ React.createElement(Icon, {
258
- icon: "ph--x--regular",
259
- size: 6,
260
- classNames: "m-1.5"
261
- });
262
- };
263
-
264
- // src/containers/DevicesContainer/index.ts
265
- var DevicesContainer_default = DevicesContainer;
266
- export {
267
- DevicesContainer_default as default
268
- };
269
- //# sourceMappingURL=DevicesContainer-V7HEUPO7.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/DevicesContainer/DevicesContainer.tsx", "../../../src/containers/DevicesContainer/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { log } from '@dxos/log';\nimport { useClient, useMulticastObservable } from '@dxos/react-client';\nimport { type Device, useDevices } from '@dxos/react-client/halo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Button, Clipboard, Icon, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport, translationKey } from '@dxos/shell/react';\nimport { osTranslations } from '@dxos/ui-theme';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { ClientOperation } from '../../types';\n\nexport type DevicesContainerProps = {\n createInvitationUrl?: (invitationCode: string) => string;\n};\n\nexport const DevicesContainer = ({ createInvitationUrl }: DevicesContainerProps) => {\n const { t } = useTranslation(translationKey);\n const { invokePromise } = useOperationInvoker();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => invokePromise(ClientOperation.ResetStorage, {}), [invokePromise]);\n\n const handleRecover = useCallback(\n () => invokePromise(ClientOperation.ResetStorage, { mode: 'recover' }),\n [invokePromise],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => invokePromise(ClientOperation.ResetStorage, { mode: 'join new identity' }),\n [invokePromise],\n );\n\n return (\n <Clipboard.Provider>\n <Settings.Root>\n <Settings.Section\n title={t('devices verbose label', { ns: meta.id })}\n description={t('devices description', { ns: meta.id })}\n >\n <Settings.Frame>\n <Settings.FrameItem title={t('devices label', { ns: meta.id })}>\n <List>\n {devices.map((device: Device) => (\n <DeviceListItem key={device.deviceKey.toHex()} device={device} connectionState={connectionState} />\n ))}\n </List>\n </Settings.FrameItem>\n {createInvitationUrl && (\n <Settings.FrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </Settings.FrameItem>\n )}\n </Settings.Frame>\n </Settings.Section>\n <Settings.Section\n title={t('danger zone title', { ns: meta.id })}\n description={t('danger zone description', { ns: meta.id })}\n >\n <Settings.Group>\n <Settings.Item title={t('reset device label')} description={t('reset device description', { ns: meta.id })}>\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </Settings.Item>\n <Settings.Item\n title={t('recover identity label')}\n description={t('recover identity description', { ns: meta.id })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </Settings.Item>\n <Settings.Item\n title={t('join new identity label')}\n description={t('join new identity description', { ns: meta.id })}\n >\n <Button variant='destructive' onClick={handleJoinNewIdentity} data-testid='devicesContainer.joinExisting'>\n {t('join new identity label')}\n </Button>\n </Settings.Item>\n </Settings.Group>\n </Settings.Section>\n </Settings.Root>\n </Clipboard.Provider>\n );\n};\n\ntype DeviceInvitationProps = {\n invitation?: CancellableInvitationObservable;\n createInvitationUrl: (invitationCode: string) => string;\n onInvitationDone: () => void;\n onInvitationCreate: () => void;\n};\n\nconst DeviceInvitation = (props: Pick<DeviceInvitationProps, 'createInvitationUrl'>) => {\n const client = useClient();\n const [invitation, setInvitation] = useState<CancellableInvitationObservable>();\n\n const onInvitationCreate = useCallback(() => {\n const invitation = client.halo.share();\n if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription = invitation.subscribe((invitation: Invitation) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n });\n }\n setInvitation(invitation);\n }, [client]);\n\n const onInvitationDone = useCallback(() => {\n setInvitation(undefined);\n }, []);\n\n if (invitation) {\n return <DeviceInvitationImpl {...props} {...{ invitation, onInvitationCreate, onInvitationDone }} />;\n } else {\n return <InvitationSection {...props} {...{ onInvitationCreate, onInvitationDone }} />;\n }\n};\n\nconst DeviceInvitationImpl = ({\n invitation: invitationObservable,\n createInvitationUrl,\n onInvitationDone,\n onInvitationCreate,\n}: DeviceInvitationProps) => {\n const invitation = useMulticastObservable(invitationObservable!);\n const url = createInvitationUrl(InvitationEncoder.encode(invitation));\n\n useEffect(() => {\n if (invitation.state >= Invitation.State.SUCCESS) {\n onInvitationDone();\n }\n }, [invitation.state]);\n\n return <InvitationSection {...invitation} {...{ url, onInvitationDone, onInvitationCreate }} />;\n};\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> &\n Pick<DeviceInvitationProps, 'onInvitationDone' | 'onInvitationCreate'> & {\n state: number;\n url: string;\n }\n>;\n\nconst InvitationSection = ({\n state = -1,\n authCode,\n invitationId = 'never',\n url = 'never',\n onInvitationDone = () => {},\n onInvitationCreate = () => {},\n}: InvitationComponentProps) => {\n const { t } = useTranslation(meta.id);\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return activeView === 'init' ? (\n <>\n <p className='text-description mb-2'>{t('add device description')}</p>\n <IconButton\n icon='ph--plus--regular'\n label={t('create device invitation label')}\n disabled={state >= 0}\n classNames='w-full'\n data-testid='devicesContainer.createInvitation'\n onClick={onInvitationCreate}\n />\n </>\n ) : (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onInvitationDone} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onInvitationDone} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel: () => void }) => {\n const { t } = useTranslation(osTranslations);\n const qrLabel = useId('devices-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: meta.id })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content]'>\n <div className='flex justify-center py-4'>\n <div role='none' className='w-full md:max-w-80 aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n </div>\n {/* TODO(burdon): Factor out button bar */}\n <div className='flex justify-center'>\n <div className='flex gap-2'>\n <Clipboard.Button value={url ?? 'never'} />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </div>\n </div>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel: () => void }) => {\n const { t } = useTranslation(osTranslations);\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mx-auto my-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mx-auto my-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? (\n <Icon icon='ph--check--regular' size={6} classNames='m-1.5' />\n ) : (\n <Icon icon='ph--x--regular' size={6} classNames='m-1.5' />\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { DevicesContainer } from './DevicesContainer';\n\nexport default DevicesContainer;\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useEffect", "useState", "QR", "useOperationInvoker", "log", "useClient", "useMulticastObservable", "useDevices", "Invitation", "InvitationEncoder", "useNetworkStatus", "Button", "Clipboard", "Icon", "IconButton", "List", "useId", "useTranslation", "Settings", "AuthCode", "Centered", "DeviceListItem", "Emoji", "Viewport", "translationKey", "osTranslations", "hexToEmoji", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "translationKey", "invokePromise", "useOperationInvoker", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "ClientOperation", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "Clipboard", "Provider", "Settings", "Root", "Section", "title", "ns", "meta", "id", "description", "Frame", "FrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "Group", "Item", "Button", "variant", "onClick", "data-testid", "props", "client", "useClient", "invitation", "setInvitation", "useState", "onInvitationCreate", "halo", "share", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscription", "subscribe", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "onInvitationDone", "undefined", "DeviceInvitationImpl", "InvitationSection", "invitationObservable", "useMulticastObservable", "url", "useEffect", "SUCCESS", "invitationId", "activeView", "CANCELLED", "READY_FOR_AUTHENTICATION", "p", "className", "IconButton", "icon", "label", "disabled", "classNames", "Viewport", "Views", "View", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "osTranslations", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Icon", "size", "DevicesContainer"]
7
- }
@@ -1,60 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ClientOperation
4
- } from "./chunk-DT2ZNOGU.mjs";
5
- import {
6
- meta
7
- } from "./chunk-BOTJSPCT.mjs";
8
-
9
- // src/containers/JoinDialog/JoinDialog.tsx
10
- import React, { useCallback } from "react";
11
- import { useOperationInvoker } from "@dxos/app-framework/ui";
12
- import { LayoutOperation } from "@dxos/app-toolkit";
13
- import { ObservabilityOperation } from "@dxos/plugin-observability/types";
14
- import { Dialog, useTranslation } from "@dxos/react-ui";
15
- import { JoinPanel } from "@dxos/shell/react";
16
- import { osTranslations } from "@dxos/ui-theme";
17
- var JoinDialog = (props) => {
18
- const { invokePromise } = useOperationInvoker();
19
- const { t } = useTranslation(meta.id);
20
- const handleCancelResetStorage = useCallback(() => invokePromise(ClientOperation.ShareIdentity), [
21
- invokePromise
22
- ]);
23
- const handleDone = useCallback(async (result) => {
24
- if (result?.identityKey) {
25
- await Promise.all([
26
- invokePromise(LayoutOperation.UpdateDialog, {
27
- state: false
28
- }),
29
- invokePromise(ObservabilityOperation.SendEvent, {
30
- name: props.initialDisposition === "recover-identity" ? "identity.recover" : "identity.join"
31
- })
32
- ]);
33
- }
34
- }, [
35
- invokePromise
36
- ]);
37
- return /* @__PURE__ */ React.createElement(Dialog.Content, null, /* @__PURE__ */ React.createElement(Dialog.Header, null, /* @__PURE__ */ React.createElement(Dialog.Title, {
38
- classNames: "sr-only"
39
- }, t("join space label", {
40
- ns: osTranslations
41
- }))), /* @__PURE__ */ React.createElement(JoinPanel, {
42
- mode: "halo-only",
43
- ...props,
44
- exitActionParent: /* @__PURE__ */ React.createElement(Dialog.Close, {
45
- asChild: true
46
- }),
47
- doneActionParent: /* @__PURE__ */ React.createElement(Dialog.Close, {
48
- asChild: true
49
- }),
50
- onCancelResetStorage: handleCancelResetStorage,
51
- onDone: handleDone
52
- }));
53
- };
54
-
55
- // src/containers/JoinDialog/index.ts
56
- var JoinDialog_default = JoinDialog;
57
- export {
58
- JoinDialog_default as default
59
- };
60
- //# sourceMappingURL=JoinDialog-XVKW4SLT.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/JoinDialog/JoinDialog.tsx", "../../../src/containers/JoinDialog/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\nimport { ClientOperation } from '../../types';\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { invokePromise } = useOperationInvoker();\n const { t } = useTranslation(meta.id);\n\n const handleCancelResetStorage = useCallback(() => invokePromise(ClientOperation.ShareIdentity), [invokePromise]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n invokePromise(LayoutOperation.UpdateDialog, { state: false }),\n invokePromise(ObservabilityOperation.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ]);\n }\n },\n [invokePromise],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: osTranslations })}</Dialog.Title>\n </Dialog.Header>\n <JoinPanel\n mode='halo-only'\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onCancelResetStorage={handleCancelResetStorage}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { JoinDialog } from './JoinDialog';\n\nexport default JoinDialog;\n"],
5
- "mappings": ";;;;;;;;;AAIA,OAAOA,SAASC,mBAAmB;AAEnC,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,8BAA8B;AAEvC,SAASC,QAAQC,sBAAsB;AACvC,SAASC,iBAAsC;AAC/C,SAASC,sBAAsB;AAKxB,IAAMC,aAAa,CAACC,UAAAA;AACzB,QAAM,EAAEC,cAAa,IAAKC,oBAAAA;AAC1B,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,QAAMC,2BAA2BC,YAAY,MAAMP,cAAcQ,gBAAgBC,aAAa,GAAG;IAACT;GAAc;AAEhH,QAAMU,aAAaH,YACjB,OAAOI,WAAAA;AACL,QAAIA,QAAQC,aAAa;AACvB,YAAMC,QAAQC,IAAI;QAChBd,cAAce,gBAAgBC,cAAc;UAAEC,OAAO;QAAM,CAAA;QAC3DjB,cAAckB,uBAAuBC,WAAW;UAC9CC,MAAMrB,MAAMsB,uBAAuB,qBAAqB,qBAAqB;QAC/E,CAAA;OACD;IACH;EACF,GACA;IAACrB;GAAc;AAGjB,SACE,sBAAA,cAACsB,OAAOC,SAAO,MACb,sBAAA,cAACD,OAAOE,QAAM,MACZ,sBAAA,cAACF,OAAOG,OAAK;IAACC,YAAW;KAAWxB,EAAE,oBAAoB;IAAEyB,IAAIC;EAAe,CAAA,CAAA,CAAA,GAEjF,sBAAA,cAACC,WAAAA;IACCC,MAAK;IACJ,GAAG/B;IACJgC,kBAAkB,sBAAA,cAACT,OAAOU,OAAK;MAACC,SAAAA;;IAChCC,kBAAkB,sBAAA,cAACZ,OAAOU,OAAK;MAACC,SAAAA;;IAChCE,sBAAsB7B;IACtB8B,QAAQ1B;;AAIhB;;;AC9CA,IAAA,qBAAe2B;",
6
- "names": ["React", "useCallback", "useOperationInvoker", "LayoutOperation", "ObservabilityOperation", "Dialog", "useTranslation", "JoinPanel", "osTranslations", "JoinDialog", "props", "invokePromise", "useOperationInvoker", "t", "useTranslation", "meta", "id", "handleCancelResetStorage", "useCallback", "ClientOperation", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutOperation", "UpdateDialog", "state", "ObservabilityOperation", "SendEvent", "name", "initialDisposition", "Dialog", "Content", "Header", "Title", "classNames", "ns", "osTranslations", "JoinPanel", "mode", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "JoinDialog"]
7
- }
@@ -1,172 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- meta
4
- } from "./chunk-BOTJSPCT.mjs";
5
-
6
- // src/containers/ProfileContainer/ProfileContainer.tsx
7
- import * as Schema from "effect/Schema";
8
- import React, { useCallback, useMemo, useState } from "react";
9
- import { debounce } from "@dxos/async";
10
- import { useClient } from "@dxos/react-client";
11
- import { useIdentity } from "@dxos/react-client/halo";
12
- import { ButtonGroup, Clipboard, Input, useTranslation } from "@dxos/react-ui";
13
- import { Form, Settings } from "@dxos/react-ui-form";
14
- import { EmojiPickerBlock, HuePicker } from "@dxos/react-ui-pickers";
15
- import { hexToEmoji, hexToHue } from "@dxos/util";
16
- var UserProfile = Schema.Struct({
17
- did: Schema.String.annotations({
18
- title: "DID"
19
- }),
20
- displayName: Schema.String.annotations({
21
- title: "Display name"
22
- }),
23
- emoji: Schema.String.annotations({
24
- title: "Avatar"
25
- }),
26
- hue: Schema.String.annotations({
27
- title: "Color"
28
- })
29
- });
30
- var getDefaultHueValue = (identity) => hexToHue(identity?.identityKey.toHex() ?? "0");
31
- var getHueValue = (identity) => identity?.profile?.data?.hue || getDefaultHueValue(identity);
32
- var getDefaultEmojiValue = (identity) => hexToEmoji(identity?.identityKey.toHex() ?? "0");
33
- var getEmojiValue = (identity) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);
34
- var ProfileContainer = () => {
35
- const { t } = useTranslation(meta.id);
36
- const client = useClient();
37
- const identity = useIdentity();
38
- const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? "");
39
- const [emoji, setEmojiDirectly] = useState(getEmojiValue(identity));
40
- const [hue, setHueDirectly] = useState(getHueValue(identity));
41
- const updateProfile = useMemo(() => debounce((profile) => client.halo.updateProfile({
42
- displayName: profile.displayName,
43
- data: {
44
- emoji: profile.emoji,
45
- hue: profile.hue
46
- }
47
- }), 2e3), []);
48
- const handleChange = useCallback((profile, meta2) => {
49
- for (const [path, changed] of Object.entries(meta2.changed)) {
50
- if (changed) {
51
- switch (path) {
52
- case "displayName":
53
- setDisplayNameDirectly(profile.displayName ?? "");
54
- break;
55
- case "emoji":
56
- setEmojiDirectly(profile.emoji ?? getDefaultEmojiValue(identity));
57
- break;
58
- case "hue":
59
- setHueDirectly(profile.hue ?? getDefaultHueValue(identity));
60
- break;
61
- default:
62
- break;
63
- }
64
- }
65
- }
66
- void updateProfile(profile);
67
- }, [
68
- identity
69
- ]);
70
- const values = useMemo(() => ({
71
- did: identity?.did,
72
- displayName,
73
- emoji,
74
- hue
75
- }), [
76
- identity,
77
- displayName,
78
- emoji,
79
- hue
80
- ]);
81
- const fieldMap = useMemo(() => ({
82
- displayName: ({ type, label, getValue, onValueChange }) => {
83
- const handleChange2 = useCallback(({ target: { value } }) => onValueChange(type, value), [
84
- onValueChange,
85
- type
86
- ]);
87
- return /* @__PURE__ */ React.createElement(Settings.ItemInput, {
88
- title: label,
89
- description: t("display name description")
90
- }, /* @__PURE__ */ React.createElement(Input.TextInput, {
91
- value: getValue(),
92
- onChange: handleChange2,
93
- placeholder: t("display name input placeholder"),
94
- classNames: "min-w-64"
95
- }));
96
- },
97
- emoji: ({ type, label, getValue, onValueChange }) => {
98
- const handleChange2 = useCallback((nextEmoji) => onValueChange(type, nextEmoji), [
99
- onValueChange,
100
- type
101
- ]);
102
- const handleEmojiReset = useCallback(() => onValueChange(type, getDefaultEmojiValue(identity)), [
103
- onValueChange,
104
- type
105
- ]);
106
- return /* @__PURE__ */ React.createElement(Settings.Item, {
107
- title: label,
108
- description: t("icon description")
109
- }, /* @__PURE__ */ React.createElement(EmojiPickerBlock, {
110
- triggerVariant: "default",
111
- emoji: getValue(),
112
- onChangeEmoji: handleChange2,
113
- onClickClear: handleEmojiReset,
114
- classNames: "justify-self-end"
115
- }));
116
- },
117
- hue: ({ type, label, getValue, onValueChange }) => {
118
- const handleChange2 = useCallback((nextHue) => onValueChange(type, nextHue), [
119
- onValueChange,
120
- type
121
- ]);
122
- const handleHueReset = useCallback(() => onValueChange(type, getDefaultHueValue(identity)), [
123
- onValueChange,
124
- type
125
- ]);
126
- return /* @__PURE__ */ React.createElement(Settings.Item, {
127
- title: label,
128
- description: t("hue description")
129
- }, /* @__PURE__ */ React.createElement("div", {
130
- role: "none",
131
- className: "flex justify-self-end"
132
- }, /* @__PURE__ */ React.createElement(HuePicker, {
133
- value: getValue(),
134
- onChange: handleChange2,
135
- onReset: handleHueReset
136
- })));
137
- },
138
- // TODO(wittjosiah): We need text input annotations for disabled and copyable.
139
- did: ({ label, getValue }) => {
140
- return /* @__PURE__ */ React.createElement(Settings.ItemInput, {
141
- title: label,
142
- description: t("did description")
143
- }, /* @__PURE__ */ React.createElement(ButtonGroup, {
144
- classNames: "w-full"
145
- }, /* @__PURE__ */ React.createElement(Input.TextInput, {
146
- value: getValue(),
147
- disabled: true,
148
- classNames: "min-w-64"
149
- }), /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
150
- value: getValue() ?? ""
151
- })));
152
- }
153
- }), [
154
- t
155
- ]);
156
- return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(Settings.Root, null, /* @__PURE__ */ React.createElement(Settings.Section, {
157
- title: t("profile label"),
158
- description: t("profile description")
159
- }, /* @__PURE__ */ React.createElement(Form.Root, {
160
- schema: UserProfile,
161
- values,
162
- fieldMap,
163
- onValuesChanged: handleChange
164
- }, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.FieldSet, null))))));
165
- };
166
-
167
- // src/containers/ProfileContainer/index.ts
168
- var ProfileContainer_default = ProfileContainer;
169
- export {
170
- ProfileContainer_default as default
171
- };
172
- //# sourceMappingURL=ProfileContainer-B5LJ6TMU.mjs.map