@dxos/plugin-client 0.8.4-main.c85a9c8dae → 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} +141 -143
  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-46MEG3F5.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-2RCYK4O5.mjs → neutral/JoinDialog-2NXAKPLP.mjs} +10 -16
  16. package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs.map +7 -0
  17. package/dist/lib/{browser/ProfileContainer-XYRCOQ5I.mjs → neutral/ProfileContainer-VPX3FPWG.mjs} +17 -20
  18. package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs.map +7 -0
  19. package/dist/lib/{browser/RecoveryCodeDialog-EX2CLFND.mjs → neutral/RecoveryCodeDialog-GBRH6ZSA.mjs} +8 -9
  20. package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs.map +7 -0
  21. package/dist/lib/{browser/RecoveryCredentialsContainer-RWTEIHOB.mjs → neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs} +19 -25
  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-6JD6BZAI.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/{browser/chunk-N2GMSVDQ.mjs → neutral/chunk-JOCCVODY.mjs} +11 -5
  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-Z25GQ5YC.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-HLHRMOW6.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-E7TAJMDK.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-L5A2LBFE.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 +3 -2
  190. package/dist/types/src/commands/profile/create.d.ts.map +1 -0
  191. package/dist/types/src/{cli/commands → commands}/profile/delete.d.ts +1 -1
  192. package/dist/types/src/commands/profile/delete.d.ts.map +1 -0
  193. package/dist/types/src/{cli/commands → commands}/profile/import.d.ts +2 -2
  194. package/dist/types/src/commands/profile/import.d.ts.map +1 -0
  195. package/dist/types/src/{cli/commands → commands}/profile/index.d.ts +6 -6
  196. package/dist/types/src/commands/profile/index.d.ts.map +1 -0
  197. package/dist/types/src/commands/profile/inspect.d.ts.map +1 -0
  198. package/dist/types/src/commands/profile/list.d.ts.map +1 -0
  199. package/dist/types/src/{cli/commands → commands}/profile/reset.d.ts +1 -1
  200. package/dist/types/src/commands/profile/reset.d.ts.map +1 -0
  201. package/dist/types/src/commands/profile/util.d.ts.map +1 -0
  202. package/dist/types/src/constants.d.ts +4 -3
  203. package/dist/types/src/constants.d.ts.map +1 -1
  204. package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts +3 -0
  205. package/dist/types/src/containers/AccountContainer/AccountContainer.d.ts.map +1 -0
  206. package/dist/types/src/containers/AccountContainer/index.d.ts +2 -0
  207. package/dist/types/src/containers/AccountContainer/index.d.ts.map +1 -0
  208. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -1
  209. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +166 -165
  210. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -1
  211. package/dist/types/src/containers/DevicesContainer/index.d.ts +1 -2
  212. package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -1
  213. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts +3 -0
  214. package/dist/types/src/containers/InvitationsContainer/InvitationsContainer.d.ts.map +1 -0
  215. package/dist/types/src/containers/InvitationsContainer/index.d.ts +2 -0
  216. package/dist/types/src/containers/InvitationsContainer/index.d.ts.map +1 -0
  217. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  218. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +15 -0
  219. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  220. package/dist/types/src/containers/JoinDialog/index.d.ts +1 -2
  221. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -1
  222. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -1
  223. package/dist/types/src/containers/ProfileContainer/index.d.ts +1 -2
  224. package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -1
  225. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -1
  226. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -1
  227. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -1
  228. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -1
  229. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
  230. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +1 -2
  231. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -1
  232. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +7 -2
  233. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -1
  234. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +2 -2
  235. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -1
  236. package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -1
  237. package/dist/types/src/containers/index.d.ts +2 -0
  238. package/dist/types/src/containers/index.d.ts.map +1 -1
  239. package/dist/types/src/index.d.ts +2 -3
  240. package/dist/types/src/index.d.ts.map +1 -1
  241. package/dist/types/src/meta.d.ts +1 -1
  242. package/dist/types/src/meta.d.ts.map +1 -1
  243. package/dist/types/src/operations/create-agent.d.ts +5 -0
  244. package/dist/types/src/operations/create-agent.d.ts.map +1 -0
  245. package/dist/types/src/operations/create-identity.d.ts +5 -0
  246. package/dist/types/src/operations/create-identity.d.ts.map +1 -0
  247. package/dist/types/src/operations/create-passkey.d.ts +5 -0
  248. package/dist/types/src/operations/create-passkey.d.ts.map +1 -0
  249. package/dist/types/src/operations/create-recovery-code.d.ts +5 -0
  250. package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -0
  251. package/dist/types/src/operations/definitions.d.ts +36 -0
  252. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  253. package/dist/types/src/operations/index.d.ts +4 -0
  254. package/dist/types/src/operations/index.d.ts.map +1 -0
  255. package/dist/types/src/operations/join-identity.d.ts +5 -0
  256. package/dist/types/src/operations/join-identity.d.ts.map +1 -0
  257. package/dist/types/src/operations/recover-identity.d.ts +5 -0
  258. package/dist/types/src/operations/recover-identity.d.ts.map +1 -0
  259. package/dist/types/src/operations/redeem-passkey.d.ts +5 -0
  260. package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -0
  261. package/dist/types/src/operations/redeem-token.d.ts +5 -0
  262. package/dist/types/src/operations/redeem-token.d.ts.map +1 -0
  263. package/dist/types/src/operations/reset-storage.d.ts +5 -0
  264. package/dist/types/src/operations/reset-storage.d.ts.map +1 -0
  265. package/dist/types/src/operations/share-identity.d.ts +5 -0
  266. package/dist/types/src/operations/share-identity.d.ts.map +1 -0
  267. package/dist/types/src/plugin.d.ts +4 -0
  268. package/dist/types/src/plugin.d.ts.map +1 -0
  269. package/dist/types/src/state/account-cache.d.ts +42 -0
  270. package/dist/types/src/state/account-cache.d.ts.map +1 -0
  271. package/dist/types/src/state/use-hub-http.d.ts +8 -0
  272. package/dist/types/src/state/use-hub-http.d.ts.map +1 -0
  273. package/dist/types/src/testing/index.d.ts +3 -0
  274. package/dist/types/src/testing/index.d.ts.map +1 -0
  275. package/dist/types/src/testing/initializeIdentity.d.ts +14 -0
  276. package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -0
  277. package/dist/types/src/translations.d.ts.map +1 -1
  278. package/dist/types/src/types/capabilities.d.ts +35 -2
  279. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  280. package/dist/types/src/types/events.d.ts.map +1 -1
  281. package/dist/types/src/types/schema.d.ts +40 -176
  282. package/dist/types/src/types/schema.d.ts.map +1 -1
  283. package/dist/types/tsconfig.tsbuildinfo +1 -1
  284. package/package.json +121 -56
  285. package/src/{cli/plugin.ts → ClientPlugin.node.ts} +18 -10
  286. package/src/ClientPlugin.test.ts +29 -0
  287. package/src/ClientPlugin.ts +31 -10
  288. package/src/ClientPlugin.workerd.ts +16 -0
  289. package/src/capabilities/account-cache.ts +25 -0
  290. package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +38 -19
  291. package/src/capabilities/{client/client.ts → client.ts} +10 -7
  292. package/src/capabilities/hub-http-client.ts +21 -0
  293. package/src/capabilities/index.ts +18 -7
  294. package/src/capabilities/layer-specs.ts +92 -0
  295. package/src/capabilities/{migrations/migrations.ts → migrations.ts} +1 -1
  296. package/src/capabilities/navigation-handler/index.ts +9 -0
  297. package/src/capabilities/navigation-handler/navigation-handler.ts +64 -0
  298. package/src/capabilities/node.ts +21 -0
  299. package/src/capabilities/operation-handler.ts +16 -0
  300. package/src/capabilities/{react-context/react-context.tsx → react-context.tsx} +4 -4
  301. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +30 -22
  302. package/src/capabilities/schema-defs.ts +56 -0
  303. package/src/{cli/commands → commands}/config/view.ts +4 -1
  304. package/src/{cli/commands → commands}/device/info/info.test.ts +0 -1
  305. package/src/{cli/commands → commands}/device/info/info.ts +0 -2
  306. package/src/{cli/commands → commands}/device/list/list.test.ts +0 -1
  307. package/src/{cli/commands → commands}/device/list/list.ts +0 -2
  308. package/src/{cli/commands → commands}/device/update/update.ts +0 -2
  309. package/src/{cli/commands → commands}/edge/status.ts +2 -1
  310. package/src/{cli/commands → commands}/halo/create/create.test.ts +10 -9
  311. package/src/{cli/commands → commands}/halo/create/create.ts +12 -5
  312. package/src/{cli/commands → commands}/halo/credential/list/list.test.ts +0 -1
  313. package/src/{cli/commands → commands}/halo/credential/list/list.ts +4 -7
  314. package/src/{cli/commands → commands}/halo/identity/identity.test.ts +4 -4
  315. package/src/{cli/commands → commands}/halo/identity/identity.ts +2 -3
  316. package/src/{cli/commands → commands}/halo/join/join.ts +2 -2
  317. package/src/{cli/commands → commands}/halo/keys/keys.ts +0 -2
  318. package/src/{cli/commands → commands}/halo/recover/recover.ts +2 -2
  319. package/src/{cli/commands → commands}/halo/seed/seed.ts +0 -2
  320. package/src/{cli/commands → commands}/halo/update/update.test.ts +5 -6
  321. package/src/{cli/commands → commands}/halo/update/update.ts +2 -4
  322. package/src/{cli/commands → commands}/halo/util.ts +2 -5
  323. package/src/{cli/commands → commands}/profile/create.ts +9 -6
  324. package/src/{cli/commands → commands}/profile/delete.ts +5 -2
  325. package/src/{cli/commands → commands}/profile/list.ts +12 -11
  326. package/src/constants.ts +6 -4
  327. package/src/containers/AccountContainer/AccountContainer.tsx +179 -0
  328. package/src/containers/AccountContainer/index.ts +5 -0
  329. package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +6 -6
  330. package/src/containers/DevicesContainer/DevicesContainer.tsx +50 -49
  331. package/src/containers/DevicesContainer/index.ts +1 -3
  332. package/src/containers/InvitationsContainer/InvitationsContainer.tsx +137 -0
  333. package/src/containers/InvitationsContainer/index.ts +5 -0
  334. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  335. package/src/containers/JoinDialog/JoinDialog.tsx +15 -12
  336. package/src/containers/JoinDialog/index.ts +1 -3
  337. package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +1 -1
  338. package/src/containers/ProfileContainer/ProfileContainer.tsx +13 -13
  339. package/src/containers/ProfileContainer/index.ts +1 -3
  340. package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.tsx +1 -1
  341. package/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.tsx +7 -7
  342. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +6 -6
  343. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +25 -27
  344. package/src/containers/RecoveryCredentialsContainer/index.ts +1 -3
  345. package/src/containers/ResetDialog/ResetDialog.stories.tsx +6 -6
  346. package/src/containers/ResetDialog/ResetDialog.tsx +16 -6
  347. package/src/containers/index.ts +2 -0
  348. package/src/index.ts +2 -4
  349. package/src/meta.ts +7 -4
  350. package/src/operations/create-agent.ts +26 -0
  351. package/src/operations/create-identity.ts +37 -0
  352. package/src/operations/create-passkey.ts +88 -0
  353. package/src/operations/create-recovery-code.ts +34 -0
  354. package/src/operations/definitions.ts +115 -0
  355. package/src/operations/index.ts +20 -0
  356. package/src/operations/join-identity.ts +28 -0
  357. package/src/operations/recover-identity.ts +28 -0
  358. package/src/operations/redeem-passkey.ts +85 -0
  359. package/src/operations/redeem-token.ts +31 -0
  360. package/src/operations/reset-storage.ts +27 -0
  361. package/src/operations/share-identity.ts +26 -0
  362. package/src/plugin.ts +11 -0
  363. package/src/state/account-cache.ts +33 -0
  364. package/src/state/use-hub-http.ts +32 -0
  365. package/src/testing/index.ts +6 -0
  366. package/src/testing/initializeIdentity.ts +30 -0
  367. package/src/translations.ts +85 -43
  368. package/src/types/capabilities.ts +11 -4
  369. package/src/types/events.ts +6 -6
  370. package/src/types/schema.ts +17 -124
  371. package/dist/lib/browser/DevicesContainer-46MEG3F5.mjs.map +0 -7
  372. package/dist/lib/browser/JoinDialog-2RCYK4O5.mjs.map +0 -7
  373. package/dist/lib/browser/ProfileContainer-XYRCOQ5I.mjs.map +0 -7
  374. package/dist/lib/browser/RecoveryCodeDialog-EX2CLFND.mjs.map +0 -7
  375. package/dist/lib/browser/RecoveryCredentialsContainer-RWTEIHOB.mjs.map +0 -7
  376. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs +0 -52
  377. package/dist/lib/browser/ResetDialog-W24FOWBQ.mjs.map +0 -7
  378. package/dist/lib/browser/app-graph-builder-QJWFLYZE.mjs +0 -121
  379. package/dist/lib/browser/app-graph-builder-QJWFLYZE.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-4XYOOXAH.mjs +0 -18
  381. package/dist/lib/browser/chunk-4XYOOXAH.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-DPAXDXMK.mjs +0 -283
  383. package/dist/lib/browser/chunk-DPAXDXMK.mjs.map +0 -7
  384. package/dist/lib/browser/chunk-N2GMSVDQ.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-VYX3ROUX.mjs +0 -15
  386. package/dist/lib/browser/chunk-VYX3ROUX.mjs.map +0 -7
  387. package/dist/lib/browser/cli/index.mjs.map +0 -7
  388. package/dist/lib/browser/client-Z25GQ5YC.mjs.map +0 -7
  389. package/dist/lib/browser/index.mjs +0 -149
  390. package/dist/lib/browser/index.mjs.map +0 -7
  391. package/dist/lib/browser/meta.json +0 -1
  392. package/dist/lib/browser/migrations-HLHRMOW6.mjs.map +0 -7
  393. package/dist/lib/browser/operation-resolver-6QW3BKA5.mjs +0 -299
  394. package/dist/lib/browser/operation-resolver-6QW3BKA5.mjs.map +0 -7
  395. package/dist/lib/browser/react-context-E7TAJMDK.mjs.map +0 -7
  396. package/dist/lib/browser/react-surface-L5A2LBFE.mjs.map +0 -7
  397. package/dist/lib/browser/schema-defs-5WDZWVEI.mjs +0 -28
  398. package/dist/lib/browser/schema-defs-5WDZWVEI.mjs.map +0 -7
  399. package/dist/lib/node-esm/DevicesContainer-WQ3DQA45.mjs +0 -269
  400. package/dist/lib/node-esm/DevicesContainer-WQ3DQA45.mjs.map +0 -7
  401. package/dist/lib/node-esm/JoinDialog-KLTNJY5F.mjs +0 -60
  402. package/dist/lib/node-esm/JoinDialog-KLTNJY5F.mjs.map +0 -7
  403. package/dist/lib/node-esm/ProfileContainer-XI425QK5.mjs +0 -172
  404. package/dist/lib/node-esm/ProfileContainer-XI425QK5.mjs.map +0 -7
  405. package/dist/lib/node-esm/RecoveryCodeDialog-AISRNJUM.mjs +0 -61
  406. package/dist/lib/node-esm/RecoveryCodeDialog-AISRNJUM.mjs.map +0 -7
  407. package/dist/lib/node-esm/RecoveryCredentialsContainer-3TKQRPQK.mjs +0 -58
  408. package/dist/lib/node-esm/RecoveryCredentialsContainer-3TKQRPQK.mjs.map +0 -7
  409. package/dist/lib/node-esm/ResetDialog-GGBWSQZO.mjs.map +0 -7
  410. package/dist/lib/node-esm/app-graph-builder-6JD6BZAI.mjs.map +0 -7
  411. package/dist/lib/node-esm/chunk-H2CCMM4Z.mjs +0 -20
  412. package/dist/lib/node-esm/chunk-H2CCMM4Z.mjs.map +0 -7
  413. package/dist/lib/node-esm/chunk-HKSNTZF5.mjs +0 -16
  414. package/dist/lib/node-esm/chunk-HKSNTZF5.mjs.map +0 -7
  415. package/dist/lib/node-esm/chunk-RGULICLJ.mjs +0 -17
  416. package/dist/lib/node-esm/chunk-RGULICLJ.mjs.map +0 -7
  417. package/dist/lib/node-esm/chunk-VEUNEDN5.mjs +0 -284
  418. package/dist/lib/node-esm/chunk-VEUNEDN5.mjs.map +0 -7
  419. package/dist/lib/node-esm/cli/index.mjs +0 -1052
  420. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  421. package/dist/lib/node-esm/client-5AIPYSBT.mjs +0 -87
  422. package/dist/lib/node-esm/client-5AIPYSBT.mjs.map +0 -7
  423. package/dist/lib/node-esm/index.mjs +0 -150
  424. package/dist/lib/node-esm/index.mjs.map +0 -7
  425. package/dist/lib/node-esm/meta.json +0 -1
  426. package/dist/lib/node-esm/migrations-O5KG2GGN.mjs +0 -26
  427. package/dist/lib/node-esm/migrations-O5KG2GGN.mjs.map +0 -7
  428. package/dist/lib/node-esm/operation-resolver-GSH7AOTZ.mjs +0 -300
  429. package/dist/lib/node-esm/operation-resolver-GSH7AOTZ.mjs.map +0 -7
  430. package/dist/lib/node-esm/react-context-OMJSBS23.mjs +0 -27
  431. package/dist/lib/node-esm/react-context-OMJSBS23.mjs.map +0 -7
  432. package/dist/lib/node-esm/react-surface-N3BSPMMX.mjs +0 -78
  433. package/dist/lib/node-esm/react-surface-N3BSPMMX.mjs.map +0 -7
  434. package/dist/lib/node-esm/schema-defs-ENOYSDP3.mjs +0 -29
  435. package/dist/lib/node-esm/schema-defs-ENOYSDP3.mjs.map +0 -7
  436. package/dist/lib/node-esm/types/index.mjs +0 -17
  437. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  439. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/client/client.d.ts.map +0 -1
  441. package/dist/types/src/capabilities/client/index.d.ts +0 -18
  442. package/dist/types/src/capabilities/client/index.d.ts.map +0 -1
  443. package/dist/types/src/capabilities/migrations/index.d.ts +0 -3
  444. package/dist/types/src/capabilities/migrations/index.d.ts.map +0 -1
  445. package/dist/types/src/capabilities/migrations/migrations.d.ts.map +0 -1
  446. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -5
  447. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  448. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -8
  449. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  450. package/dist/types/src/capabilities/react-context/index.d.ts +0 -7
  451. package/dist/types/src/capabilities/react-context/index.d.ts.map +0 -1
  452. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -5
  454. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  456. package/dist/types/src/capabilities/schema-defs/index.d.ts +0 -3
  457. package/dist/types/src/capabilities/schema-defs/index.d.ts.map +0 -1
  458. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +0 -1
  459. package/dist/types/src/cli/commands/config/index.d.ts.map +0 -1
  460. package/dist/types/src/cli/commands/config/view.d.ts.map +0 -1
  461. package/dist/types/src/cli/commands/device/index.d.ts.map +0 -1
  462. package/dist/types/src/cli/commands/device/info/index.d.ts.map +0 -1
  463. package/dist/types/src/cli/commands/device/info/info.d.ts.map +0 -1
  464. package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +0 -1
  465. package/dist/types/src/cli/commands/device/list/index.d.ts.map +0 -1
  466. package/dist/types/src/cli/commands/device/list/list.d.ts.map +0 -1
  467. package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +0 -1
  468. package/dist/types/src/cli/commands/device/update/index.d.ts.map +0 -1
  469. package/dist/types/src/cli/commands/device/update/update.d.ts.map +0 -1
  470. package/dist/types/src/cli/commands/device/util.d.ts.map +0 -1
  471. package/dist/types/src/cli/commands/edge/index.d.ts.map +0 -1
  472. package/dist/types/src/cli/commands/edge/status.d.ts.map +0 -1
  473. package/dist/types/src/cli/commands/halo/create/create.d.ts.map +0 -1
  474. package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +0 -1
  475. package/dist/types/src/cli/commands/halo/create/index.d.ts.map +0 -1
  476. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +0 -1
  477. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +0 -1
  478. package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +0 -1
  479. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +0 -1
  480. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +0 -1
  481. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +0 -1
  482. package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +0 -1
  483. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +0 -1
  484. package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +0 -1
  485. package/dist/types/src/cli/commands/halo/index.d.ts.map +0 -1
  486. package/dist/types/src/cli/commands/halo/join/index.d.ts.map +0 -1
  487. package/dist/types/src/cli/commands/halo/join/join.d.ts.map +0 -1
  488. package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +0 -1
  489. package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +0 -1
  490. package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +0 -1
  491. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +0 -1
  492. package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +0 -1
  493. package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +0 -1
  494. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +0 -1
  495. package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +0 -1
  496. package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +0 -1
  497. package/dist/types/src/cli/commands/halo/share/index.d.ts.map +0 -1
  498. package/dist/types/src/cli/commands/halo/share/share.d.ts.map +0 -1
  499. package/dist/types/src/cli/commands/halo/update/index.d.ts.map +0 -1
  500. package/dist/types/src/cli/commands/halo/update/update.d.ts.map +0 -1
  501. package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +0 -1
  502. package/dist/types/src/cli/commands/halo/util.d.ts.map +0 -1
  503. package/dist/types/src/cli/commands/index.d.ts.map +0 -1
  504. package/dist/types/src/cli/commands/profile/create.d.ts.map +0 -1
  505. package/dist/types/src/cli/commands/profile/delete.d.ts.map +0 -1
  506. package/dist/types/src/cli/commands/profile/import.d.ts.map +0 -1
  507. package/dist/types/src/cli/commands/profile/index.d.ts.map +0 -1
  508. package/dist/types/src/cli/commands/profile/inspect.d.ts.map +0 -1
  509. package/dist/types/src/cli/commands/profile/list.d.ts.map +0 -1
  510. package/dist/types/src/cli/commands/profile/reset.d.ts.map +0 -1
  511. package/dist/types/src/cli/commands/profile/util.d.ts.map +0 -1
  512. package/dist/types/src/cli/index.d.ts +0 -2
  513. package/dist/types/src/cli/index.d.ts.map +0 -1
  514. package/dist/types/src/cli/plugin.d.ts +0 -4
  515. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  516. package/dist/types/src/cli/testing/test-console.d.ts +0 -37
  517. package/dist/types/src/cli/testing/test-console.d.ts.map +0 -1
  518. package/src/capabilities/app-graph-builder/index.ts +0 -7
  519. package/src/capabilities/client/index.ts +0 -7
  520. package/src/capabilities/migrations/index.ts +0 -7
  521. package/src/capabilities/operation-resolver/index.ts +0 -7
  522. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -247
  523. package/src/capabilities/react-context/index.ts +0 -7
  524. package/src/capabilities/react-surface/index.ts +0 -7
  525. package/src/capabilities/schema-defs/index.ts +0 -7
  526. package/src/capabilities/schema-defs/schema-defs.ts +0 -36
  527. package/src/cli/index.ts +0 -5
  528. package/src/cli/testing/test-console.ts +0 -88
  529. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  530. /package/dist/lib/{node-esm/types → neutral/components}/index.mjs.map +0 -0
  531. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  532. /package/dist/types/src/capabilities/{migrations/migrations.d.ts → migrations.d.ts} +0 -0
  533. /package/dist/types/src/capabilities/{react-context/react-context.d.ts → react-context.d.ts} +0 -0
  534. /package/dist/types/src/capabilities/{schema-defs/schema-defs.d.ts → schema-defs.d.ts} +0 -0
  535. /package/dist/types/src/{cli/commands → commands}/device/index.d.ts +0 -0
  536. /package/dist/types/src/{cli/commands → commands}/device/info/index.d.ts +0 -0
  537. /package/dist/types/src/{cli/commands → commands}/device/info/info.test.d.ts +0 -0
  538. /package/dist/types/src/{cli/commands → commands}/device/list/index.d.ts +0 -0
  539. /package/dist/types/src/{cli/commands → commands}/device/list/list.test.d.ts +0 -0
  540. /package/dist/types/src/{cli/commands → commands}/device/update/index.d.ts +0 -0
  541. /package/dist/types/src/{cli/commands → commands}/device/update/update.d.ts +0 -0
  542. /package/dist/types/src/{cli/commands → commands}/device/util.d.ts +0 -0
  543. /package/dist/types/src/{cli/commands → commands}/edge/index.d.ts +0 -0
  544. /package/dist/types/src/{cli/commands → commands}/edge/status.d.ts +0 -0
  545. /package/dist/types/src/{cli/commands → commands}/halo/create/create.test.d.ts +0 -0
  546. /package/dist/types/src/{cli/commands → commands}/halo/create/index.d.ts +0 -0
  547. /package/dist/types/src/{cli/commands → commands}/halo/credential/add/add.d.ts +0 -0
  548. /package/dist/types/src/{cli/commands → commands}/halo/credential/add/index.d.ts +0 -0
  549. /package/dist/types/src/{cli/commands → commands}/halo/credential/index.d.ts +0 -0
  550. /package/dist/types/src/{cli/commands → commands}/halo/credential/list/index.d.ts +0 -0
  551. /package/dist/types/src/{cli/commands → commands}/halo/credential/list/list.test.d.ts +0 -0
  552. /package/dist/types/src/{cli/commands → commands}/halo/identity/identity.test.d.ts +0 -0
  553. /package/dist/types/src/{cli/commands → commands}/halo/identity/index.d.ts +0 -0
  554. /package/dist/types/src/{cli/commands → commands}/halo/index.d.ts +0 -0
  555. /package/dist/types/src/{cli/commands → commands}/halo/join/index.d.ts +0 -0
  556. /package/dist/types/src/{cli/commands → commands}/halo/join/join.test.d.ts +0 -0
  557. /package/dist/types/src/{cli/commands → commands}/halo/keys/index.d.ts +0 -0
  558. /package/dist/types/src/{cli/commands → commands}/halo/keys/keys.test.d.ts +0 -0
  559. /package/dist/types/src/{cli/commands → commands}/halo/recover/index.d.ts +0 -0
  560. /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.d.ts +0 -0
  561. /package/dist/types/src/{cli/commands → commands}/halo/recover/recover.test.d.ts +0 -0
  562. /package/dist/types/src/{cli/commands → commands}/halo/seed/index.d.ts +0 -0
  563. /package/dist/types/src/{cli/commands → commands}/halo/seed/seed.d.ts +0 -0
  564. /package/dist/types/src/{cli/commands → commands}/halo/share/index.d.ts +0 -0
  565. /package/dist/types/src/{cli/commands → commands}/halo/share/share.d.ts +0 -0
  566. /package/dist/types/src/{cli/commands → commands}/halo/update/index.d.ts +0 -0
  567. /package/dist/types/src/{cli/commands → commands}/halo/update/update.d.ts +0 -0
  568. /package/dist/types/src/{cli/commands → commands}/halo/update/update.test.d.ts +0 -0
  569. /package/dist/types/src/{cli/commands → commands}/index.d.ts +0 -0
  570. /package/dist/types/src/{cli/commands → commands}/profile/inspect.d.ts +0 -0
  571. /package/dist/types/src/{cli/commands → commands}/profile/list.d.ts +0 -0
  572. /package/dist/types/src/{cli/commands → commands}/profile/util.d.ts +0 -0
  573. /package/src/{cli/commands → commands}/config/index.ts +0 -0
  574. /package/src/{cli/commands → commands}/device/index.ts +0 -0
  575. /package/src/{cli/commands → commands}/device/info/index.ts +0 -0
  576. /package/src/{cli/commands → commands}/device/list/index.ts +0 -0
  577. /package/src/{cli/commands → commands}/device/update/index.ts +0 -0
  578. /package/src/{cli/commands → commands}/device/util.ts +0 -0
  579. /package/src/{cli/commands → commands}/edge/index.ts +0 -0
  580. /package/src/{cli/commands → commands}/halo/create/index.ts +0 -0
  581. /package/src/{cli/commands → commands}/halo/credential/add/add.ts +0 -0
  582. /package/src/{cli/commands → commands}/halo/credential/add/index.ts +0 -0
  583. /package/src/{cli/commands → commands}/halo/credential/index.ts +0 -0
  584. /package/src/{cli/commands → commands}/halo/credential/list/index.ts +0 -0
  585. /package/src/{cli/commands → commands}/halo/identity/index.ts +0 -0
  586. /package/src/{cli/commands → commands}/halo/index.ts +0 -0
  587. /package/src/{cli/commands → commands}/halo/join/index.ts +0 -0
  588. /package/src/{cli/commands → commands}/halo/join/join.test.ts +0 -0
  589. /package/src/{cli/commands → commands}/halo/keys/index.ts +0 -0
  590. /package/src/{cli/commands → commands}/halo/keys/keys.test.ts +0 -0
  591. /package/src/{cli/commands → commands}/halo/recover/index.ts +0 -0
  592. /package/src/{cli/commands → commands}/halo/recover/recover.test.ts +0 -0
  593. /package/src/{cli/commands → commands}/halo/seed/index.ts +0 -0
  594. /package/src/{cli/commands → commands}/halo/share/index.ts +0 -0
  595. /package/src/{cli/commands → commands}/halo/share/share.ts +0 -0
  596. /package/src/{cli/commands → commands}/halo/update/index.ts +0 -0
  597. /package/src/{cli/commands → commands}/index.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
@@ -0,0 +1,92 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Layer from 'effect/Layer';
7
+
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { ClientService } from '@dxos/client';
10
+ import { Credential, LayerSpec } from '@dxos/compute';
11
+ import { Database, Feed } from '@dxos/echo';
12
+ import { createFeedServiceLayer } from '@dxos/echo-db';
13
+ import { credentialsLayerFromDatabase } from '@dxos/functions';
14
+ import { invariant } from '@dxos/invariant';
15
+
16
+ import { ClientCapabilities } from '#types';
17
+
18
+ //
19
+ // Capability Module
20
+ //
21
+ // Contributes the core client/space service layer specs:
22
+ // - {@link ClientService} (application affinity).
23
+ // - {@link Database.Service}, {@link Feed.FeedService},
24
+ // {@link Credential.CredentialsService} (space affinity).
25
+ //
26
+ // Specs are declared at module level and resolve the underlying
27
+ // {@link ClientCapabilities.Client} through the Effect layer graph (via
28
+ // {@link Capability.Service}) rather than capturing it from an outer scope.
29
+ //
30
+
31
+ /**
32
+ * Provides the Effect-level {@link ClientService} backed by the
33
+ * {@link ClientCapabilities.Client} capability contributed by the plugin
34
+ * runtime.
35
+ */
36
+ const ClientLayerSpec = LayerSpec.make(
37
+ {
38
+ affinity: 'application',
39
+ requires: [Capability.Service],
40
+ provides: [ClientService],
41
+ },
42
+ () =>
43
+ Layer.unwrapEffect(
44
+ Effect.gen(function* () {
45
+ const client = yield* Capability.get(ClientCapabilities.Client);
46
+ return ClientService.fromClient(client);
47
+ }).pipe(Effect.orDie),
48
+ ),
49
+ );
50
+
51
+ /**
52
+ * Space-scoped database/feed services resolved from the `Client`'s space
53
+ * registry. One spec for both so the `client.spaces.get` / `waitUntilReady`
54
+ * round-trip only happens once per space slice. Fails hard if the context is
55
+ * missing a `space` id or the client cannot resolve it — both indicate a
56
+ * configuration bug in the layer graph.
57
+ */
58
+ const DatabaseLayerSpec = LayerSpec.make(
59
+ {
60
+ affinity: 'space',
61
+ requires: [ClientService],
62
+ provides: [Database.Service, Feed.FeedService],
63
+ },
64
+ (context) =>
65
+ Layer.unwrapEffect(
66
+ Effect.gen(function* () {
67
+ invariant(context.space, 'space context required for Database layer');
68
+ const client = yield* ClientService;
69
+ const space = client.spaces.get(context.space);
70
+ invariant(space, `space not found on client: ${context.space}`);
71
+ yield* Effect.promise(() => space.waitUntilReady());
72
+ return Layer.mergeAll(Database.layer(space.db), createFeedServiceLayer(space.queues));
73
+ }),
74
+ ),
75
+ );
76
+
77
+ const CredentialsLayerSpec = LayerSpec.make(
78
+ {
79
+ affinity: 'space',
80
+ requires: [Database.Service],
81
+ provides: [Credential.CredentialsService],
82
+ },
83
+ () => credentialsLayerFromDatabase(),
84
+ );
85
+
86
+ export default Capability.makeModule(() =>
87
+ Effect.succeed([
88
+ Capability.contributes(Capabilities.LayerSpec, ClientLayerSpec),
89
+ Capability.contributes(Capabilities.LayerSpec, DatabaseLayerSpec),
90
+ Capability.contributes(Capabilities.LayerSpec, CredentialsLayerSpec),
91
+ ]),
92
+ );
@@ -6,7 +6,7 @@ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
8
 
9
- import { ClientCapabilities } from '../../types';
9
+ import { ClientCapabilities } from '#types';
10
10
 
11
11
  export default Capability.makeModule(
12
12
  Effect.fnUntraced(function* () {
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ export type { NavigationHandlerOptions } from './navigation-handler';
8
+
9
+ export const NavigationHandler = Capability.lazy('NavigationHandler', () => import('./navigation-handler'));
@@ -0,0 +1,64 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+ import { Operation } from '@dxos/compute';
10
+ import { log } from '@dxos/log';
11
+
12
+ import { ClientOperation } from '../../operations';
13
+
14
+ export type NavigationHandlerOptions = {
15
+ invitationProp?: string;
16
+ tokenProp?: string;
17
+ tokenTypeProp?: string;
18
+ };
19
+
20
+ /**
21
+ * NavigationHandler for auth-related URL params.
22
+ * Handles login tokens and device invitation codes.
23
+ */
24
+ export default Capability.makeModule(
25
+ Effect.fnUntraced(function* ({
26
+ invitationProp = 'deviceInvitationCode',
27
+ tokenProp = 'token',
28
+ tokenTypeProp = 'type',
29
+ }: NavigationHandlerOptions = {}) {
30
+ const capabilities = yield* Capability.Service;
31
+ const operationService = yield* Capability.get(Capabilities.OperationInvoker);
32
+
33
+ const handler: AppCapabilities.NavigationHandler = (url: URL) =>
34
+ Effect.gen(function* () {
35
+ const token = url.searchParams.get(tokenProp);
36
+ const tokenType = url.searchParams.get(tokenTypeProp);
37
+ const invitationCode = url.searchParams.get(invitationProp);
38
+
39
+ if (token && tokenType === 'login') {
40
+ log('login token received via navigation');
41
+ removeQueryParam(tokenProp);
42
+ removeQueryParam(tokenTypeProp);
43
+ yield* Operation.invoke(ClientOperation.RedeemToken, { token });
44
+ } else if (invitationCode) {
45
+ log('device invitation received via navigation');
46
+ removeQueryParam(invitationProp);
47
+ yield* Operation.invoke(ClientOperation.JoinIdentity, { invitationCode });
48
+ }
49
+ }).pipe(
50
+ Effect.provideService(Capability.Service, capabilities),
51
+ Effect.provideService(Operation.Service, operationService),
52
+ Effect.orDie,
53
+ );
54
+
55
+ return Capability.contributes(AppCapabilities.NavigationHandler, handler);
56
+ }),
57
+ );
58
+
59
+ /** Remove a query param from the current browser URL. */
60
+ const removeQueryParam = (key: string) => {
61
+ const current = new URL(window.location.href);
62
+ current.searchParams.delete(key);
63
+ history.replaceState(null, '', current.pathname + current.search);
64
+ };
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
+
8
+ export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
9
+ export const Client = Capability.lazy('Client', () => import('./client'));
10
+ export const LayerSpecs = Capability.lazy<void, Capability.Any[]>('LayerSpecs', () => import('./layer-specs'));
11
+ export const Migrations = Capability.lazy('Migrations', () => import('./migrations'));
12
+ export const NavigationHandler = Capability.lazy(
13
+ 'NavigationHandler',
14
+ () => import('./navigation-handler/navigation-handler'),
15
+ );
16
+ export type { NavigationHandlerOptions } from './navigation-handler';
17
+ export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
18
+ 'OperationHandler',
19
+ () => import('./operation-handler'),
20
+ );
21
+ export const SchemaDefs = Capability.lazy('SchemaDefs', () => import('./schema-defs'));
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import type { OperationHandlerSet } from '@dxos/compute';
9
+
10
+ import { ClientOperationHandlerSet } from '#operations';
11
+
12
+ export default Capability.makeModule<OperationHandlerSet.OperationHandlerSet>(
13
+ Effect.fnUntraced(function* () {
14
+ return Capability.contributes(Capabilities.OperationHandler, ClientOperationHandlerSet);
15
+ }),
16
+ );
@@ -3,20 +3,20 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import React from 'react';
6
+ import React, { ReactNode } from 'react';
7
7
 
8
8
  import { Capabilities, Capability } from '@dxos/app-framework';
9
9
  import { useCapability } from '@dxos/app-framework/ui';
10
10
  import { ClientProvider } from '@dxos/react-client';
11
11
 
12
- import { meta } from '../../meta';
13
- import { ClientCapabilities } from '../../types';
12
+ import { meta } from '#meta';
13
+ import { ClientCapabilities } from '#types';
14
14
 
15
15
  export default Capability.makeModule(() =>
16
16
  Effect.succeed(
17
17
  Capability.contributes(Capabilities.ReactContext, {
18
18
  id: meta.id,
19
- context: ({ children }: { children?: React.ReactNode }) => {
19
+ context: ({ children }: { children?: ReactNode }) => {
20
20
  const client = useCapability(ClientCapabilities.Client);
21
21
  return <ClientProvider client={client}>{children}</ClientProvider>;
22
22
  },
@@ -3,24 +3,25 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import React from 'react';
6
+ import React, { type ComponentProps } from 'react';
7
7
 
8
8
  import { Capabilities, Capability } from '@dxos/app-framework';
9
9
  import { Surface } from '@dxos/app-framework/ui';
10
- import { type JoinPanelProps } from '@dxos/shell/react';
10
+ import { AppSurface } from '@dxos/app-toolkit/ui';
11
11
 
12
- import { JOIN_DIALOG, RECOVERY_CODE_DIALOG, RESET_DIALOG } from '../../constants';
13
12
  import {
13
+ AccountContainer,
14
14
  DevicesContainer,
15
+ InvitationsContainer,
15
16
  JoinDialog,
16
17
  ProfileContainer,
17
18
  RecoveryCodeDialog,
18
- type RecoveryCodeDialogProps,
19
19
  RecoveryCredentialsContainer,
20
20
  ResetDialog,
21
- type ResetDialogProps,
22
- } from '../../containers';
23
- import { Account, type ClientPluginOptions } from '../../types';
21
+ } from '#containers';
22
+ import { Account, type ClientPluginOptions } from '#types';
23
+
24
+ import { JOIN_DIALOG, RECOVERY_CODE_DIALOG, RESET_DIALOG } from '../constants';
24
25
 
25
26
  type ReactSurfaceOptions = Pick<ClientPluginOptions, 'onReset'> & {
26
27
  createInvitationUrl: (invitationCode: string) => string;
@@ -33,39 +34,46 @@ export default Capability.makeModule(
33
34
  return Capability.contributes(Capabilities.ReactSurface, [
34
35
  Surface.create({
35
36
  id: Account.Profile,
36
- role: 'article',
37
- filter: (data): data is any => data.subject === Account.Profile,
37
+ filter: AppSurface.literal(AppSurface.Article, Account.Profile),
38
38
  component: () => <ProfileContainer />,
39
39
  }),
40
40
  Surface.create({
41
41
  id: Account.Devices,
42
- role: 'article',
43
- filter: (data): data is any => data.subject === Account.Devices,
42
+ filter: AppSurface.literal(AppSurface.Article, Account.Devices),
44
43
  component: () => <DevicesContainer createInvitationUrl={createInvitationUrl} />,
45
44
  }),
46
45
  Surface.create({
47
46
  id: Account.Security,
48
- role: 'article',
49
- filter: (data): data is any => data.subject === Account.Security,
47
+ filter: AppSurface.literal(AppSurface.Article, Account.Security),
50
48
  component: () => <RecoveryCredentialsContainer />,
51
49
  }),
50
+ Surface.create({
51
+ id: Account.Account,
52
+ filter: AppSurface.literal(AppSurface.Article, Account.Account),
53
+ component: () => <AccountContainer />,
54
+ }),
55
+ Surface.create({
56
+ id: Account.Invitations,
57
+ filter: AppSurface.literal(AppSurface.Article, Account.Invitations),
58
+ component: () => <InvitationsContainer />,
59
+ }),
52
60
  Surface.create({
53
61
  id: JOIN_DIALOG,
54
- role: 'dialog',
55
- filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,
56
- component: ({ data }: { data: any }) => <JoinDialog {...data.props} />,
62
+ filter: AppSurface.component<ComponentProps<typeof JoinDialog>>(AppSurface.Dialog, JOIN_DIALOG),
63
+ component: ({ data }) => <JoinDialog {...data.props} />,
57
64
  }),
58
65
  Surface.create({
59
66
  id: RECOVERY_CODE_DIALOG,
60
- role: 'dialog',
61
- filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVERY_CODE_DIALOG,
62
- component: ({ data }: { data: any }) => <RecoveryCodeDialog {...data.props} />,
67
+ filter: AppSurface.component<ComponentProps<typeof RecoveryCodeDialog>>(
68
+ AppSurface.Dialog,
69
+ RECOVERY_CODE_DIALOG,
70
+ ),
71
+ component: ({ data }) => <RecoveryCodeDialog {...data.props} />,
63
72
  }),
64
73
  Surface.create({
65
74
  id: RESET_DIALOG,
66
- role: 'dialog',
67
- filter: (data): data is { props: ResetDialogProps } => data.component === RESET_DIALOG,
68
- component: ({ data }: { data: any }) => (
75
+ filter: AppSurface.component<Pick<ComponentProps<typeof ResetDialog>, 'mode'>>(AppSurface.Dialog, RESET_DIALOG),
76
+ component: ({ data }) => (
69
77
  <ResetDialog {...data.props} onReset={onReset} capabilityManager={capabilityManager} />
70
78
  ),
71
79
  }),
@@ -0,0 +1,56 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capabilities, Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+ import { Type } from '@dxos/echo';
10
+ import { log } from '@dxos/log';
11
+
12
+ import { ClientCapabilities } from '#types';
13
+
14
+ export default Capability.makeModule(
15
+ Effect.fnUntraced(function* () {
16
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
17
+ const client = yield* Capability.get(ClientCapabilities.Client);
18
+ const schemasAtom = yield* Capability.atom(AppCapabilities.Schema);
19
+
20
+ // TODO(wittjosiah): Unregister schemas when they are disabled.
21
+ let previousDxns = new Set<string>();
22
+ const cancel = registry.subscribe(
23
+ schemasAtom,
24
+ async (schemas) => {
25
+ const seenSchemaDxns = new Set<string>();
26
+ const batch: { schema: Type.AnyEntity; dxnKey: string }[] = [];
27
+ for (const schema of schemas.flat()) {
28
+ const uri = Type.getURI(schema);
29
+ if (!uri) {
30
+ log.warn('skipping schema without uri');
31
+ continue;
32
+ }
33
+
34
+ const key = uri.toString();
35
+ if (seenSchemaDxns.has(key)) {
36
+ log('skipping duplicate schema for echo registration', { uri: key });
37
+ continue;
38
+ }
39
+
40
+ seenSchemaDxns.add(key);
41
+ batch.push({ schema, dxnKey: key });
42
+ }
43
+
44
+ const toRegister = batch.filter(({ dxnKey }) => !previousDxns.has(dxnKey));
45
+
46
+ await client.addTypes(toRegister.map(({ schema }) => schema));
47
+ for (const { dxnKey } of toRegister) {
48
+ previousDxns.add(dxnKey);
49
+ }
50
+ },
51
+ { immediate: true },
52
+ );
53
+
54
+ return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => cancel()));
55
+ }),
56
+ );
@@ -9,17 +9,20 @@ import * as Yaml from 'yaml';
9
9
 
10
10
  import { CommandConfig } from '@dxos/cli-util';
11
11
  import { ConfigService } from '@dxos/client';
12
+ import { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';
12
13
 
13
14
  export const view = Command.make(
14
15
  'view',
15
16
  {},
16
17
  Effect.fnUntraced(function* () {
17
18
  const config = yield* ConfigService;
18
- const { json } = yield* CommandConfig;
19
+ const { json, profile } = yield* CommandConfig;
20
+ const configPath = getProfileConfigPath(DX_CONFIG, profile);
19
21
 
20
22
  if (json) {
21
23
  yield* Console.log(JSON.stringify(config.values, null, 2));
22
24
  } else {
25
+ yield* Console.log(`Path: ${configPath}`);
23
26
  yield* Console.log(Yaml.stringify(config.values));
24
27
  }
25
28
  }),
@@ -16,7 +16,6 @@ describe('device info', () => {
16
16
  Effect.gen(function* () {
17
17
  const client = yield* ClientService;
18
18
  yield* Effect.tryPromise(() => client.halo.createIdentity());
19
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
20
19
  yield* handler();
21
20
  const logger = yield* TestConsole.TestConsole;
22
21
  const logs = logger.logs;
@@ -16,8 +16,6 @@ import { printDevice } from '../util';
16
16
  export const handler = Effect.fn(function* () {
17
17
  const { json } = yield* CommandConfig;
18
18
  const client = yield* ClientService;
19
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
20
-
21
19
  const device = client.halo.device;
22
20
  if (!device) {
23
21
  if (json) {
@@ -16,7 +16,6 @@ describe('device list', () => {
16
16
  Effect.gen(function* () {
17
17
  const client = yield* ClientService;
18
18
  yield* Effect.tryPromise(() => client.halo.createIdentity());
19
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
20
19
  yield* handler();
21
20
  const logger = yield* TestConsole.TestConsole;
22
21
  const logs = logger.logs;
@@ -15,8 +15,6 @@ import { mapDevices, printDevices } from '../util';
15
15
  export const handler = Effect.fn(function* () {
16
16
  const { json } = yield* CommandConfig;
17
17
  const client = yield* ClientService;
18
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
19
-
20
18
  const devices = client.halo.devices.get();
21
19
 
22
20
  if (json) {
@@ -16,8 +16,6 @@ import { printDevice } from '../util';
16
16
  export const handler = Effect.fn(function* ({ label }: { label: string }) {
17
17
  const { json } = yield* CommandConfig;
18
18
  const client = yield* ClientService;
19
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
20
-
21
19
  const device = client.halo.device;
22
20
  if (!device) {
23
21
  if (json) {
@@ -10,13 +10,14 @@ import * as Option from 'effect/Option';
10
10
  import { CommandConfig } from '@dxos/cli-util';
11
11
  import { ClientService } from '@dxos/client';
12
12
  import { createEdgeIdentity } from '@dxos/client/edge';
13
+ import { Context } from '@dxos/context';
13
14
 
14
15
  export const getStatus = () =>
15
16
  Effect.gen(function* () {
16
17
  const client = yield* ClientService;
17
18
  const identity = createEdgeIdentity(client);
18
19
  client.edge.http.setIdentity(identity);
19
- const status = yield* Effect.tryPromise(() => client.edge.http.getStatus());
20
+ const status = yield* Effect.tryPromise(() => client.edge.http.getStatus(Context.default()));
20
21
 
21
22
  if (yield* CommandConfig.isJson) {
22
23
  yield* Console.log(JSON.stringify(status, null, 2));
@@ -2,27 +2,28 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, it } from '@effect/vitest';
5
+ import { describe, test } from '@effect/vitest';
6
6
  import * as Effect from 'effect/Effect';
7
7
  import * as Layer from 'effect/Layer';
8
8
  import * as Option from 'effect/Option';
9
9
 
10
- import { OperationPlugin } from '@dxos/app-framework';
10
+ import {} from '@dxos/app-framework';
11
11
  import { fromPlugins } from '@dxos/app-framework/testing';
12
12
  import { TestConsole, TestLayer } from '@dxos/cli-util/testing';
13
13
  import { ClientService } from '@dxos/client';
14
14
  import { runAndForwardErrors } from '@dxos/effect';
15
- import { ObservabilityPlugin } from '@dxos/plugin-observability/cli';
15
+ import { ObservabilityPlugin } from '@dxos/plugin-observability/plugin';
16
16
 
17
- import { ClientPlugin } from '../../../plugin';
17
+ import { ClientPlugin } from '#plugin';
18
18
 
19
19
  import { handler } from './create';
20
20
 
21
- const layer = Layer.merge(TestLayer, fromPlugins([ClientPlugin({}), OperationPlugin(), ObservabilityPlugin()]));
21
+ // TODO(wittjosiah): Align browser and node variant option types for ObservabilityPlugin.
22
+ const layer = Layer.merge(TestLayer, fromPlugins([ClientPlugin({}), ObservabilityPlugin({} as any)]));
22
23
 
23
24
  // TODO(wittjosiah): Fix these tests.
24
25
  describe.skip('halo create', () => {
25
- it('should create an identity without a display name', () =>
26
+ test('should create an identity without a display name', ({ expect }) =>
26
27
  Effect.gen(function* () {
27
28
  const client = yield* ClientService;
28
29
  yield* handler({ agent: false, displayName: Option.none() });
@@ -31,12 +32,12 @@ describe.skip('halo create', () => {
31
32
  expect(logs).toHaveLength(1);
32
33
  const parsedIdentity = TestConsole.parseJson(logs[0]);
33
34
  expect(parsedIdentity).toEqual({
34
- identityKey: client.halo.identity.get()?.identityKey.toHex(),
35
+ identityDid: client.halo.identity.get()?.did,
35
36
  displayName: client.halo.identity.get()?.profile?.displayName,
36
37
  });
37
38
  }).pipe(Effect.provide(layer), Effect.scoped, runAndForwardErrors));
38
39
 
39
- it('should create an identity with a display name', () =>
40
+ test('should create an identity with a display name', ({ expect }) =>
40
41
  Effect.gen(function* () {
41
42
  const client = yield* ClientService;
42
43
  yield* handler({ agent: false, displayName: Option.some('Example') });
@@ -45,7 +46,7 @@ describe.skip('halo create', () => {
45
46
  expect(logs).toHaveLength(1);
46
47
  const parsedIdentity = TestConsole.parseJson(logs[0]);
47
48
  expect(parsedIdentity).toEqual({
48
- identityKey: client.halo.identity.get()?.identityKey.toHex(),
49
+ identityDid: client.halo.identity.get()?.did,
49
50
  displayName: client.halo.identity.get()?.profile?.displayName,
50
51
  });
51
52
  }).pipe(Effect.provide(layer), Effect.scoped, runAndForwardErrors));
@@ -9,12 +9,16 @@ import * as Effect from 'effect/Effect';
9
9
  import * as Option from 'effect/Option';
10
10
 
11
11
  import { Capabilities, Plugin } from '@dxos/app-framework';
12
+ import { PERSONAL_SPACE_TAG } from '@dxos/app-toolkit';
12
13
  import { CommandConfig, flushAndSync, spaceLayer } from '@dxos/cli-util';
13
14
  import { print } from '@dxos/cli-util';
14
15
  import { ClientService } from '@dxos/client';
15
16
  import { invariant } from '@dxos/invariant';
17
+ import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
18
+ import { MembershipPolicy } from '@dxos/protocols/proto/dxos/halo/credentials';
19
+
20
+ import { ClientOperation } from '#operations';
16
21
 
17
- import { ClientOperation } from '../../../../types';
18
22
  import { printIdentity } from '../util';
19
23
 
20
24
  export const handler = Effect.fn(function* ({
@@ -39,16 +43,19 @@ export const handler = Effect.fn(function* ({
39
43
  yield* invoke(ClientOperation.CreateAgent);
40
44
  }
41
45
 
42
- yield* Effect.promise(() => client.spaces.waitUntilReady());
43
- yield* Effect.promise(() => client.spaces.default.waitUntilReady());
44
- const space = client.spaces.default;
46
+ // Create personal space for the CLI identity.
47
+ const space = yield* Effect.promise(() =>
48
+ client.spaces.create({}, { tags: [PERSONAL_SPACE_TAG], membershipPolicy: MembershipPolicy.LOCKED }),
49
+ );
50
+ yield* Effect.promise(() => space.waitUntilReady());
51
+ yield* Effect.promise(() => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));
45
52
  yield* flushAndSync({ indexes: true }).pipe(Effect.provide(spaceLayer(Option.some(space.id))));
46
53
 
47
54
  if (json) {
48
55
  yield* Console.log(
49
56
  JSON.stringify(
50
57
  {
51
- identityKey: identity.identityKey.toHex(),
58
+ identityDid: identity.identityDid,
52
59
  displayName: identity.profile?.displayName,
53
60
  },
54
61
  null,
@@ -17,7 +17,6 @@ describe('halo credential list', () => {
17
17
  Effect.gen(function* () {
18
18
  const client = yield* ClientService;
19
19
  yield* Effect.tryPromise(() => client.halo.createIdentity());
20
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
21
20
  yield* handler({ type: Option.none(), spaceId: Option.none(), timeout: 500, delay: 250 });
22
21
  const logger = yield* TestConsole.TestConsole;
23
22
  const logs = logger.logs;
@@ -9,7 +9,7 @@ import * as Duration from 'effect/Duration';
9
9
  import * as Effect from 'effect/Effect';
10
10
  import * as Option from 'effect/Option';
11
11
 
12
- import { CommandConfig, Common, FormBuilder, getSpace, printList, spaceIdWithDefault } from '@dxos/cli-util';
12
+ import { CommandConfig, Common, FormBuilder, getSpace, printList } from '@dxos/cli-util';
13
13
  import { ClientService } from '@dxos/client';
14
14
  import type { Credential } from '@dxos/client/halo';
15
15
  import { type Key } from '@dxos/echo';
@@ -41,20 +41,17 @@ export const handler = Effect.fn(function* ({
41
41
  delay,
42
42
  }: {
43
43
  type: Option.Option<string>;
44
- spaceId: Option.Option<string>;
44
+ spaceId: Option.Option<Key.SpaceId>;
45
45
  timeout: number;
46
46
  delay: number;
47
47
  }) {
48
48
  const { json } = yield* CommandConfig;
49
49
  const client = yield* ClientService;
50
- yield* Effect.tryPromise(() => client.spaces.waitUntilReady());
51
-
52
50
  let credentials: Credential[];
53
51
 
54
- const resolvedSpaceId = yield* spaceIdWithDefault(spaceId as Option.Option<Key.SpaceId>);
55
52
  if (Option.isSome(spaceId)) {
56
- // If space ID was provided, get credentials from that space
57
- const space = yield* getSpace(resolvedSpaceId);
53
+ // If space ID was provided, get credentials from that space.
54
+ const space = yield* getSpace(spaceId.value);
58
55
  credentials = yield* Effect.tryPromise(() => space.internal.getCredentials());
59
56
  } else {
60
57
  // Get credentials from HALO