@dxos/plugin-client 0.8.3 → 0.8.4-main.03d5cd7b56

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 (541) hide show
  1. package/dist/lib/neutral/ClientPlugin.mjs +10 -0
  2. package/dist/lib/neutral/ClientPlugin.node.mjs +1029 -0
  3. package/dist/lib/neutral/ClientPlugin.node.mjs.map +7 -0
  4. package/dist/lib/neutral/DevicesContainer-6MWNUC3I.mjs +262 -0
  5. package/dist/lib/neutral/DevicesContainer-6MWNUC3I.mjs.map +7 -0
  6. package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs +53 -0
  7. package/dist/lib/neutral/JoinDialog-2NXAKPLP.mjs.map +7 -0
  8. package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs +168 -0
  9. package/dist/lib/neutral/ProfileContainer-VPX3FPWG.mjs.map +7 -0
  10. package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs +59 -0
  11. package/dist/lib/neutral/RecoveryCodeDialog-GBRH6ZSA.mjs.map +7 -0
  12. package/dist/lib/neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs +51 -0
  13. package/dist/lib/neutral/RecoveryCredentialsContainer-IPBGDMIA.mjs.map +7 -0
  14. package/dist/lib/neutral/ResetDialog-VXOIHJXP.mjs +54 -0
  15. package/dist/lib/neutral/ResetDialog-VXOIHJXP.mjs.map +7 -0
  16. package/dist/lib/neutral/app-graph-builder-IK34U2RQ.mjs +117 -0
  17. package/dist/lib/neutral/app-graph-builder-IK34U2RQ.mjs.map +7 -0
  18. package/dist/lib/neutral/capabilities/index.mjs +28 -0
  19. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  20. package/dist/lib/neutral/capabilities/node.mjs +13 -0
  21. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  22. package/dist/lib/neutral/chunk-IYPUD3DP.mjs +62 -0
  23. package/dist/lib/neutral/chunk-IYPUD3DP.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  25. package/dist/lib/neutral/chunk-KBYKJCO2.mjs +8 -0
  26. package/dist/lib/neutral/chunk-KBYKJCO2.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-KJGNSH3K.mjs +18 -0
  28. package/dist/lib/neutral/chunk-KJGNSH3K.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-M37DHX5L.mjs +131 -0
  30. package/dist/lib/neutral/chunk-M37DHX5L.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-RPMM5NKJ.mjs +175 -0
  32. package/dist/lib/neutral/chunk-RPMM5NKJ.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-VAIJSQYA.mjs +12 -0
  34. package/dist/lib/neutral/chunk-VAIJSQYA.mjs.map +7 -0
  35. package/dist/lib/neutral/client-7JBIGMTX.mjs +62 -0
  36. package/dist/lib/neutral/client-7JBIGMTX.mjs.map +7 -0
  37. package/dist/lib/neutral/components/index.mjs +1 -0
  38. package/dist/lib/neutral/components/index.mjs.map +7 -0
  39. package/dist/lib/neutral/containers/index.mjs +19 -0
  40. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  41. package/dist/lib/neutral/create-agent-JV3EM3TV.mjs +26 -0
  42. package/dist/lib/neutral/create-agent-JV3EM3TV.mjs.map +7 -0
  43. package/dist/lib/neutral/create-identity-GNGOTH6D.mjs +30 -0
  44. package/dist/lib/neutral/create-identity-GNGOTH6D.mjs.map +7 -0
  45. package/dist/lib/neutral/create-passkey-NCP4XA7C.mjs +81 -0
  46. package/dist/lib/neutral/create-passkey-NCP4XA7C.mjs.map +7 -0
  47. package/dist/lib/neutral/create-recovery-code-L5LA3GAP.mjs +36 -0
  48. package/dist/lib/neutral/create-recovery-code-L5LA3GAP.mjs.map +7 -0
  49. package/dist/lib/neutral/index.mjs +23 -0
  50. package/dist/lib/neutral/index.mjs.map +7 -0
  51. package/dist/lib/neutral/join-identity-3W6PJLKN.mjs +27 -0
  52. package/dist/lib/neutral/join-identity-3W6PJLKN.mjs.map +7 -0
  53. package/dist/lib/neutral/meta.json +1 -0
  54. package/dist/lib/neutral/meta.mjs +8 -0
  55. package/dist/lib/neutral/meta.mjs.map +7 -0
  56. package/dist/lib/neutral/migrations-7FTW55ER.mjs +23 -0
  57. package/dist/lib/neutral/migrations-7FTW55ER.mjs.map +7 -0
  58. package/dist/lib/neutral/navigation-handler-TIIHOIBY.mjs +46 -0
  59. package/dist/lib/neutral/navigation-handler-TIIHOIBY.mjs.map +7 -0
  60. package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs +13 -0
  61. package/dist/lib/neutral/operation-handler-E3HB7E2T.mjs.map +7 -0
  62. package/dist/lib/neutral/operations/index.mjs +12 -0
  63. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  64. package/dist/lib/neutral/plugin.mjs +17 -0
  65. package/dist/lib/neutral/plugin.mjs.map +7 -0
  66. package/dist/lib/neutral/react-context-B5LXMHVM.mjs +23 -0
  67. package/dist/lib/neutral/react-context-B5LXMHVM.mjs.map +7 -0
  68. package/dist/lib/neutral/react-surface-VSBYVQL7.mjs +60 -0
  69. package/dist/lib/neutral/react-surface-VSBYVQL7.mjs.map +7 -0
  70. package/dist/lib/neutral/recover-identity-KL6QY4GI.mjs +26 -0
  71. package/dist/lib/neutral/recover-identity-KL6QY4GI.mjs.map +7 -0
  72. package/dist/lib/neutral/redeem-passkey-NDEWSJTM.mjs +66 -0
  73. package/dist/lib/neutral/redeem-passkey-NDEWSJTM.mjs.map +7 -0
  74. package/dist/lib/neutral/redeem-token-YLWAVFXD.mjs +29 -0
  75. package/dist/lib/neutral/redeem-token-YLWAVFXD.mjs.map +7 -0
  76. package/dist/lib/neutral/reset-storage-OBHEGA6Z.mjs +26 -0
  77. package/dist/lib/neutral/reset-storage-OBHEGA6Z.mjs.map +7 -0
  78. package/dist/lib/neutral/schema-defs-6XJAJAQT.mjs +51 -0
  79. package/dist/lib/neutral/schema-defs-6XJAJAQT.mjs.map +7 -0
  80. package/dist/lib/neutral/share-identity-JQ5SL3J2.mjs +31 -0
  81. package/dist/lib/neutral/share-identity-JQ5SL3J2.mjs.map +7 -0
  82. package/dist/lib/neutral/testing/index.mjs +26 -0
  83. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  84. package/dist/lib/neutral/translations.mjs +74 -0
  85. package/dist/lib/neutral/translations.mjs.map +7 -0
  86. package/dist/lib/neutral/types/index.mjs +14 -0
  87. package/dist/lib/neutral/types/index.mjs.map +7 -0
  88. package/dist/types/src/ClientPlugin.d.ts +4 -2
  89. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  90. package/dist/types/src/ClientPlugin.node.d.ts +5 -0
  91. package/dist/types/src/ClientPlugin.node.d.ts.map +1 -0
  92. package/dist/types/src/ClientPlugin.test.d.ts +2 -0
  93. package/dist/types/src/ClientPlugin.test.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  95. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/client.d.ts +6 -7
  97. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/index.d.ts +28 -15
  99. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/migrations.d.ts +3 -2
  101. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
  103. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
  104. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +15 -0
  105. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
  106. package/dist/types/src/capabilities/node.d.ts +21 -0
  107. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  109. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/react-context.d.ts +4 -2
  111. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts +4 -3
  113. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/schema-defs.d.ts +3 -2
  115. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  116. package/dist/types/src/commands/config/index.d.ts +5 -0
  117. package/dist/types/src/commands/config/index.d.ts.map +1 -0
  118. package/dist/types/src/commands/config/view.d.ts +5 -0
  119. package/dist/types/src/commands/config/view.d.ts.map +1 -0
  120. package/dist/types/src/commands/device/index.d.ts +7 -0
  121. package/dist/types/src/commands/device/index.d.ts.map +1 -0
  122. package/dist/types/src/commands/device/info/index.d.ts +2 -0
  123. package/dist/types/src/commands/device/info/index.d.ts.map +1 -0
  124. package/dist/types/src/commands/device/info/info.d.ts +7 -0
  125. package/dist/types/src/commands/device/info/info.d.ts.map +1 -0
  126. package/dist/types/src/commands/device/info/info.test.d.ts +2 -0
  127. package/dist/types/src/commands/device/info/info.test.d.ts.map +1 -0
  128. package/dist/types/src/commands/device/list/index.d.ts +2 -0
  129. package/dist/types/src/commands/device/list/index.d.ts.map +1 -0
  130. package/dist/types/src/commands/device/list/list.d.ts +7 -0
  131. package/dist/types/src/commands/device/list/list.d.ts.map +1 -0
  132. package/dist/types/src/commands/device/list/list.test.d.ts +2 -0
  133. package/dist/types/src/commands/device/list/list.test.d.ts.map +1 -0
  134. package/dist/types/src/commands/device/update/index.d.ts +2 -0
  135. package/dist/types/src/commands/device/update/index.d.ts.map +1 -0
  136. package/dist/types/src/commands/device/update/update.d.ts +11 -0
  137. package/dist/types/src/commands/device/update/update.d.ts.map +1 -0
  138. package/dist/types/src/commands/device/util.d.ts +16 -0
  139. package/dist/types/src/commands/device/util.d.ts.map +1 -0
  140. package/dist/types/src/commands/edge/index.d.ts +5 -0
  141. package/dist/types/src/commands/edge/index.d.ts.map +1 -0
  142. package/dist/types/src/commands/edge/status.d.ts +7 -0
  143. package/dist/types/src/commands/edge/status.d.ts.map +1 -0
  144. package/dist/types/src/commands/halo/create/create.d.ts +15 -0
  145. package/dist/types/src/commands/halo/create/create.d.ts.map +1 -0
  146. package/dist/types/src/commands/halo/create/create.test.d.ts +2 -0
  147. package/dist/types/src/commands/halo/create/create.test.d.ts.map +1 -0
  148. package/dist/types/src/commands/halo/create/index.d.ts +2 -0
  149. package/dist/types/src/commands/halo/create/index.d.ts.map +1 -0
  150. package/dist/types/src/commands/halo/credential/add/add.d.ts +13 -0
  151. package/dist/types/src/commands/halo/credential/add/add.d.ts.map +1 -0
  152. package/dist/types/src/commands/halo/credential/add/index.d.ts +2 -0
  153. package/dist/types/src/commands/halo/credential/add/index.d.ts.map +1 -0
  154. package/dist/types/src/commands/halo/credential/index.d.ts +12 -0
  155. package/dist/types/src/commands/halo/credential/index.d.ts.map +1 -0
  156. package/dist/types/src/commands/halo/credential/list/index.d.ts +2 -0
  157. package/dist/types/src/commands/halo/credential/list/index.d.ts.map +1 -0
  158. package/dist/types/src/commands/halo/credential/list/list.d.ts +19 -0
  159. package/dist/types/src/commands/halo/credential/list/list.d.ts.map +1 -0
  160. package/dist/types/src/commands/halo/credential/list/list.test.d.ts +2 -0
  161. package/dist/types/src/commands/halo/credential/list/list.test.d.ts.map +1 -0
  162. package/dist/types/src/commands/halo/identity/identity.d.ts +7 -0
  163. package/dist/types/src/commands/halo/identity/identity.d.ts.map +1 -0
  164. package/dist/types/src/commands/halo/identity/identity.test.d.ts +2 -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 +2 -0
  167. package/dist/types/src/commands/halo/identity/index.d.ts.map +1 -0
  168. package/dist/types/src/commands/halo/index.d.ts +3 -0
  169. package/dist/types/src/commands/halo/index.d.ts.map +1 -0
  170. package/dist/types/src/commands/halo/join/index.d.ts +2 -0
  171. package/dist/types/src/commands/halo/join/index.d.ts.map +1 -0
  172. package/dist/types/src/commands/halo/join/join.d.ts +8 -0
  173. package/dist/types/src/commands/halo/join/join.d.ts.map +1 -0
  174. package/dist/types/src/commands/halo/join/join.test.d.ts +2 -0
  175. package/dist/types/src/commands/halo/join/join.test.d.ts.map +1 -0
  176. package/dist/types/src/commands/halo/keys/index.d.ts +2 -0
  177. package/dist/types/src/commands/halo/keys/index.d.ts.map +1 -0
  178. package/dist/types/src/commands/halo/keys/keys.d.ts +7 -0
  179. package/dist/types/src/commands/halo/keys/keys.d.ts.map +1 -0
  180. package/dist/types/src/commands/halo/keys/keys.test.d.ts +2 -0
  181. package/dist/types/src/commands/halo/keys/keys.test.d.ts.map +1 -0
  182. package/dist/types/src/commands/halo/recover/index.d.ts +2 -0
  183. package/dist/types/src/commands/halo/recover/index.d.ts.map +1 -0
  184. package/dist/types/src/commands/halo/recover/recover.d.ts +7 -0
  185. package/dist/types/src/commands/halo/recover/recover.d.ts.map +1 -0
  186. package/dist/types/src/commands/halo/recover/recover.test.d.ts +2 -0
  187. package/dist/types/src/commands/halo/recover/recover.test.d.ts.map +1 -0
  188. package/dist/types/src/commands/halo/seed/index.d.ts +2 -0
  189. package/dist/types/src/commands/halo/seed/index.d.ts.map +1 -0
  190. package/dist/types/src/commands/halo/seed/seed.d.ts +7 -0
  191. package/dist/types/src/commands/halo/seed/seed.d.ts.map +1 -0
  192. package/dist/types/src/commands/halo/share/index.d.ts +2 -0
  193. package/dist/types/src/commands/halo/share/index.d.ts.map +1 -0
  194. package/dist/types/src/commands/halo/share/share.d.ts +15 -0
  195. package/dist/types/src/commands/halo/share/share.d.ts.map +1 -0
  196. package/dist/types/src/commands/halo/update/index.d.ts +2 -0
  197. package/dist/types/src/commands/halo/update/index.d.ts.map +1 -0
  198. package/dist/types/src/commands/halo/update/update.d.ts +11 -0
  199. package/dist/types/src/commands/halo/update/update.d.ts.map +1 -0
  200. package/dist/types/src/commands/halo/update/update.test.d.ts +2 -0
  201. package/dist/types/src/commands/halo/update/update.test.d.ts.map +1 -0
  202. package/dist/types/src/commands/halo/util.d.ts +13 -0
  203. package/dist/types/src/commands/halo/util.d.ts.map +1 -0
  204. package/dist/types/src/commands/index.d.ts +6 -0
  205. package/dist/types/src/commands/index.d.ts.map +1 -0
  206. package/dist/types/src/commands/profile/create.d.ts +10 -0
  207. package/dist/types/src/commands/profile/create.d.ts.map +1 -0
  208. package/dist/types/src/commands/profile/delete.d.ts +8 -0
  209. package/dist/types/src/commands/profile/delete.d.ts.map +1 -0
  210. package/dist/types/src/commands/profile/import.d.ts +17 -0
  211. package/dist/types/src/commands/profile/import.d.ts.map +1 -0
  212. package/dist/types/src/commands/profile/index.d.ts +19 -0
  213. package/dist/types/src/commands/profile/index.d.ts.map +1 -0
  214. package/dist/types/src/commands/profile/inspect.d.ts +13 -0
  215. package/dist/types/src/commands/profile/inspect.d.ts.map +1 -0
  216. package/dist/types/src/commands/profile/list.d.ts +6 -0
  217. package/dist/types/src/commands/profile/list.d.ts.map +1 -0
  218. package/dist/types/src/commands/profile/reset.d.ts +8 -0
  219. package/dist/types/src/commands/profile/reset.d.ts.map +1 -0
  220. package/dist/types/src/commands/profile/util.d.ts +24 -0
  221. package/dist/types/src/commands/profile/util.d.ts.map +1 -0
  222. package/dist/types/src/components/index.d.ts +0 -6
  223. package/dist/types/src/components/index.d.ts.map +1 -1
  224. package/dist/types/src/constants.d.ts +4 -0
  225. package/dist/types/src/constants.d.ts.map +1 -0
  226. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -0
  227. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +184 -0
  228. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -0
  229. package/dist/types/src/containers/DevicesContainer/index.d.ts +2 -0
  230. package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -0
  231. package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -1
  232. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  233. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +15 -0
  234. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  235. package/dist/types/src/containers/JoinDialog/index.d.ts +2 -0
  236. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  237. package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts.map +1 -0
  238. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +14 -0
  239. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -0
  240. package/dist/types/src/containers/ProfileContainer/index.d.ts +2 -0
  241. package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -0
  242. package/dist/types/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.d.ts +0 -1
  243. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -0
  244. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts +16 -0
  245. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -0
  246. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts +4 -0
  247. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -0
  248. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts +4 -0
  249. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -0
  250. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +14 -0
  251. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -0
  252. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +2 -0
  253. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +9 -0
  255. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -0
  256. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +19 -0
  257. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -0
  258. package/dist/types/src/containers/ResetDialog/index.d.ts +4 -0
  259. package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/containers/index.d.ts +10 -0
  261. package/dist/types/src/containers/index.d.ts.map +1 -0
  262. package/dist/types/src/index.d.ts +3 -4
  263. package/dist/types/src/index.d.ts.map +1 -1
  264. package/dist/types/src/meta.d.ts +2 -3
  265. package/dist/types/src/meta.d.ts.map +1 -1
  266. package/dist/types/src/operations/create-agent.d.ts +5 -0
  267. package/dist/types/src/operations/create-agent.d.ts.map +1 -0
  268. package/dist/types/src/operations/create-identity.d.ts +5 -0
  269. package/dist/types/src/operations/create-identity.d.ts.map +1 -0
  270. package/dist/types/src/operations/create-passkey.d.ts +5 -0
  271. package/dist/types/src/operations/create-passkey.d.ts.map +1 -0
  272. package/dist/types/src/operations/create-recovery-code.d.ts +5 -0
  273. package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -0
  274. package/dist/types/src/operations/definitions.d.ts +36 -0
  275. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  276. package/dist/types/src/operations/index.d.ts +4 -0
  277. package/dist/types/src/operations/index.d.ts.map +1 -0
  278. package/dist/types/src/operations/join-identity.d.ts +5 -0
  279. package/dist/types/src/operations/join-identity.d.ts.map +1 -0
  280. package/dist/types/src/operations/recover-identity.d.ts +5 -0
  281. package/dist/types/src/operations/recover-identity.d.ts.map +1 -0
  282. package/dist/types/src/operations/redeem-passkey.d.ts +5 -0
  283. package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -0
  284. package/dist/types/src/operations/redeem-token.d.ts +5 -0
  285. package/dist/types/src/operations/redeem-token.d.ts.map +1 -0
  286. package/dist/types/src/operations/reset-storage.d.ts +5 -0
  287. package/dist/types/src/operations/reset-storage.d.ts.map +1 -0
  288. package/dist/types/src/operations/share-identity.d.ts +5 -0
  289. package/dist/types/src/operations/share-identity.d.ts.map +1 -0
  290. package/dist/types/src/plugin.d.ts +4 -0
  291. package/dist/types/src/plugin.d.ts.map +1 -0
  292. package/dist/types/src/testing/index.d.ts +3 -0
  293. package/dist/types/src/testing/index.d.ts.map +1 -0
  294. package/dist/types/src/testing/initializeIdentity.d.ts +13 -0
  295. package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -0
  296. package/dist/types/src/translations.d.ts +2 -48
  297. package/dist/types/src/translations.d.ts.map +1 -1
  298. package/dist/types/src/types/capabilities.d.ts +9 -0
  299. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  300. package/dist/types/src/types/events.d.ts +9 -0
  301. package/dist/types/src/types/events.d.ts.map +1 -0
  302. package/dist/types/src/types/index.d.ts +4 -0
  303. package/dist/types/src/types/index.d.ts.map +1 -0
  304. package/dist/types/src/{types.d.ts → types/schema.d.ts} +42 -31
  305. package/dist/types/src/types/schema.d.ts.map +1 -0
  306. package/dist/types/tsconfig.tsbuildinfo +1 -1
  307. package/package.json +124 -58
  308. package/src/ClientPlugin.node.ts +33 -0
  309. package/src/ClientPlugin.test.ts +29 -0
  310. package/src/ClientPlugin.ts +59 -65
  311. package/src/capabilities/app-graph-builder.ts +87 -103
  312. package/src/capabilities/client.ts +71 -33
  313. package/src/capabilities/index.ts +14 -10
  314. package/src/capabilities/migrations.ts +22 -17
  315. package/src/capabilities/navigation-handler/index.ts +9 -0
  316. package/src/capabilities/navigation-handler/navigation-handler.ts +64 -0
  317. package/src/capabilities/node.ts +13 -0
  318. package/src/capabilities/operation-handler.ts +16 -0
  319. package/src/capabilities/react-context.tsx +17 -12
  320. package/src/capabilities/react-surface.tsx +52 -49
  321. package/src/capabilities/schema-defs.ts +52 -25
  322. package/src/commands/config/index.ts +12 -0
  323. package/src/commands/config/view.ts +29 -0
  324. package/src/commands/device/index.ts +14 -0
  325. package/src/commands/device/info/index.ts +5 -0
  326. package/src/commands/device/info/info.test.ts +28 -0
  327. package/src/commands/device/info/info.ts +48 -0
  328. package/src/commands/device/list/index.ts +5 -0
  329. package/src/commands/device/list/list.test.ts +30 -0
  330. package/src/commands/device/list/list.ts +28 -0
  331. package/src/commands/device/update/index.ts +5 -0
  332. package/src/commands/device/update/update.ts +68 -0
  333. package/src/commands/device/util.ts +55 -0
  334. package/src/commands/edge/index.ts +12 -0
  335. package/src/commands/edge/status.ts +46 -0
  336. package/src/commands/halo/create/create.test.ts +56 -0
  337. package/src/commands/halo/create/create.ts +82 -0
  338. package/src/commands/halo/create/index.ts +5 -0
  339. package/src/commands/halo/credential/add/add.ts +97 -0
  340. package/src/commands/halo/credential/add/index.ts +5 -0
  341. package/src/commands/halo/credential/index.ts +13 -0
  342. package/src/commands/halo/credential/list/index.ts +5 -0
  343. package/src/commands/halo/credential/list/list.test.ts +27 -0
  344. package/src/commands/halo/credential/list/list.ts +115 -0
  345. package/src/commands/halo/identity/identity.test.ts +40 -0
  346. package/src/commands/halo/identity/identity.ts +45 -0
  347. package/src/commands/halo/identity/index.ts +5 -0
  348. package/src/commands/halo/index.ts +21 -0
  349. package/src/commands/halo/join/index.ts +5 -0
  350. package/src/commands/halo/join/join.test.ts +10 -0
  351. package/src/commands/halo/join/join.ts +87 -0
  352. package/src/commands/halo/keys/index.ts +5 -0
  353. package/src/commands/halo/keys/keys.test.ts +29 -0
  354. package/src/commands/halo/keys/keys.ts +40 -0
  355. package/src/commands/halo/recover/index.ts +5 -0
  356. package/src/commands/halo/recover/recover.test.ts +10 -0
  357. package/src/commands/halo/recover/recover.ts +44 -0
  358. package/src/commands/halo/seed/index.ts +5 -0
  359. package/src/commands/halo/seed/seed.ts +36 -0
  360. package/src/commands/halo/share/index.ts +5 -0
  361. package/src/commands/halo/share/share.ts +97 -0
  362. package/src/commands/halo/update/index.ts +5 -0
  363. package/src/commands/halo/update/update.test.ts +28 -0
  364. package/src/commands/halo/update/update.ts +67 -0
  365. package/src/commands/halo/util.ts +18 -0
  366. package/src/commands/index.ts +9 -0
  367. package/src/commands/profile/create.ts +90 -0
  368. package/src/commands/profile/delete.ts +36 -0
  369. package/src/commands/profile/import.ts +101 -0
  370. package/src/commands/profile/index.ts +17 -0
  371. package/src/commands/profile/inspect.ts +64 -0
  372. package/src/commands/profile/list.ts +55 -0
  373. package/src/commands/profile/reset.ts +45 -0
  374. package/src/commands/profile/util.ts +48 -0
  375. package/src/components/index.ts +0 -7
  376. package/src/constants.ts +9 -0
  377. package/src/containers/DevicesContainer/DevicesContainer.stories.tsx +52 -0
  378. package/src/{components → containers/DevicesContainer}/DevicesContainer.tsx +97 -114
  379. package/src/containers/DevicesContainer/index.ts +5 -0
  380. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  381. package/src/containers/JoinDialog/JoinDialog.tsx +56 -0
  382. package/src/containers/JoinDialog/index.ts +5 -0
  383. package/src/containers/ProfileContainer/ProfileContainer.stories.tsx +28 -0
  384. package/src/{components → containers/ProfileContainer}/ProfileContainer.tsx +70 -67
  385. package/src/containers/ProfileContainer/index.ts +5 -0
  386. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.stories.tsx +11 -12
  387. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.tsx +29 -28
  388. package/src/containers/RecoveryCodeDialog/index.ts +8 -0
  389. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +47 -0
  390. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +66 -0
  391. package/src/containers/RecoveryCredentialsContainer/index.ts +5 -0
  392. package/src/containers/ResetDialog/ResetDialog.stories.tsx +73 -0
  393. package/src/containers/ResetDialog/ResetDialog.tsx +52 -0
  394. package/src/containers/ResetDialog/index.ts +8 -0
  395. package/src/containers/index.ts +15 -0
  396. package/src/index.ts +3 -5
  397. package/src/meta.ts +9 -5
  398. package/src/operations/create-agent.ts +26 -0
  399. package/src/operations/create-identity.ts +29 -0
  400. package/src/operations/create-passkey.ts +88 -0
  401. package/src/operations/create-recovery-code.ts +34 -0
  402. package/src/operations/definitions.ts +107 -0
  403. package/src/operations/index.ts +20 -0
  404. package/src/operations/join-identity.ts +28 -0
  405. package/src/operations/recover-identity.ts +28 -0
  406. package/src/operations/redeem-passkey.ts +85 -0
  407. package/src/operations/redeem-token.ts +31 -0
  408. package/src/operations/reset-storage.ts +27 -0
  409. package/src/operations/share-identity.ts +26 -0
  410. package/src/plugin.ts +11 -0
  411. package/src/testing/index.ts +8 -0
  412. package/src/testing/initializeIdentity.ts +24 -0
  413. package/src/translations.ts +61 -46
  414. package/src/types/capabilities.ts +16 -0
  415. package/src/types/events.ts +15 -0
  416. package/src/types/index.ts +7 -0
  417. package/src/{types.ts → types/schema.ts} +29 -22
  418. package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs +0 -123
  419. package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs.map +0 -7
  420. package/dist/lib/browser/chunk-5MC5HCIM.mjs +0 -693
  421. package/dist/lib/browser/chunk-5MC5HCIM.mjs.map +0 -7
  422. package/dist/lib/browser/chunk-IA3AVM4I.mjs +0 -111
  423. package/dist/lib/browser/chunk-IA3AVM4I.mjs.map +0 -7
  424. package/dist/lib/browser/chunk-MCEXD5XH.mjs +0 -12
  425. package/dist/lib/browser/chunk-MCEXD5XH.mjs.map +0 -7
  426. package/dist/lib/browser/chunk-PSSNS4C6.mjs +0 -18
  427. package/dist/lib/browser/chunk-PSSNS4C6.mjs.map +0 -7
  428. package/dist/lib/browser/chunk-UCVFWBKT.mjs +0 -19
  429. package/dist/lib/browser/chunk-UCVFWBKT.mjs.map +0 -7
  430. package/dist/lib/browser/client-NMS3MSFP.mjs +0 -37
  431. package/dist/lib/browser/client-NMS3MSFP.mjs.map +0 -7
  432. package/dist/lib/browser/index.mjs +0 -152
  433. package/dist/lib/browser/index.mjs.map +0 -7
  434. package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs +0 -305
  435. package/dist/lib/browser/intent-resolver-SLQZMO6I.mjs.map +0 -7
  436. package/dist/lib/browser/meta.json +0 -1
  437. package/dist/lib/browser/migrations-QRQV6ZAM.mjs +0 -23
  438. package/dist/lib/browser/migrations-QRQV6ZAM.mjs.map +0 -7
  439. package/dist/lib/browser/react-context-IE2O2OYK.mjs +0 -24
  440. package/dist/lib/browser/react-context-IE2O2OYK.mjs.map +0 -7
  441. package/dist/lib/browser/react-surface-QFC2G27R.mjs +0 -66
  442. package/dist/lib/browser/react-surface-QFC2G27R.mjs.map +0 -7
  443. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs +0 -25
  444. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs.map +0 -7
  445. package/dist/lib/browser/types.mjs +0 -10
  446. package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs +0 -134
  447. package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map +0 -7
  448. package/dist/lib/node/chunk-BEJWU2NE.cjs +0 -718
  449. package/dist/lib/node/chunk-BEJWU2NE.cjs.map +0 -7
  450. package/dist/lib/node/chunk-BL6EBWOS.cjs +0 -131
  451. package/dist/lib/node/chunk-BL6EBWOS.cjs.map +0 -7
  452. package/dist/lib/node/chunk-CIYUKY3J.cjs +0 -37
  453. package/dist/lib/node/chunk-CIYUKY3J.cjs.map +0 -7
  454. package/dist/lib/node/chunk-DJKWB5L6.cjs +0 -35
  455. package/dist/lib/node/chunk-DJKWB5L6.cjs.map +0 -7
  456. package/dist/lib/node/chunk-DNKJCPU7.cjs +0 -38
  457. package/dist/lib/node/chunk-DNKJCPU7.cjs.map +0 -7
  458. package/dist/lib/node/client-Q3EQS4HA.cjs +0 -51
  459. package/dist/lib/node/client-Q3EQS4HA.cjs.map +0 -7
  460. package/dist/lib/node/index.cjs +0 -175
  461. package/dist/lib/node/index.cjs.map +0 -7
  462. package/dist/lib/node/intent-resolver-QURURONO.cjs +0 -312
  463. package/dist/lib/node/intent-resolver-QURURONO.cjs.map +0 -7
  464. package/dist/lib/node/meta.json +0 -1
  465. package/dist/lib/node/migrations-6FEWMF7U.cjs +0 -39
  466. package/dist/lib/node/migrations-6FEWMF7U.cjs.map +0 -7
  467. package/dist/lib/node/react-context-JS7Y5ZOK.cjs +0 -48
  468. package/dist/lib/node/react-context-JS7Y5ZOK.cjs.map +0 -7
  469. package/dist/lib/node/react-surface-RGRHOPVK.cjs +0 -82
  470. package/dist/lib/node/react-surface-RGRHOPVK.cjs.map +0 -7
  471. package/dist/lib/node/schema-defs-TA52ARBO.cjs +0 -41
  472. package/dist/lib/node/schema-defs-TA52ARBO.cjs.map +0 -7
  473. package/dist/lib/node/types.cjs +0 -32
  474. package/dist/lib/node/types.cjs.map +0 -7
  475. package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs +0 -124
  476. package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-37E3EI46.mjs +0 -19
  478. package/dist/lib/node-esm/chunk-37E3EI46.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-FJYSQRBO.mjs +0 -20
  480. package/dist/lib/node-esm/chunk-FJYSQRBO.mjs.map +0 -7
  481. package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs +0 -14
  482. package/dist/lib/node-esm/chunk-HM7VB4ZV.mjs.map +0 -7
  483. package/dist/lib/node-esm/chunk-STGGUFV2.mjs +0 -112
  484. package/dist/lib/node-esm/chunk-STGGUFV2.mjs.map +0 -7
  485. package/dist/lib/node-esm/chunk-WHKQMAO5.mjs +0 -694
  486. package/dist/lib/node-esm/chunk-WHKQMAO5.mjs.map +0 -7
  487. package/dist/lib/node-esm/client-EBFQZRSF.mjs +0 -38
  488. package/dist/lib/node-esm/client-EBFQZRSF.mjs.map +0 -7
  489. package/dist/lib/node-esm/index.mjs +0 -153
  490. package/dist/lib/node-esm/index.mjs.map +0 -7
  491. package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs +0 -306
  492. package/dist/lib/node-esm/intent-resolver-MV55C5ED.mjs.map +0 -7
  493. package/dist/lib/node-esm/meta.json +0 -1
  494. package/dist/lib/node-esm/migrations-AK43ZE6G.mjs +0 -24
  495. package/dist/lib/node-esm/migrations-AK43ZE6G.mjs.map +0 -7
  496. package/dist/lib/node-esm/react-context-6N7NMUJE.mjs +0 -25
  497. package/dist/lib/node-esm/react-context-6N7NMUJE.mjs.map +0 -7
  498. package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs +0 -67
  499. package/dist/lib/node-esm/react-surface-JUYTGBEM.mjs.map +0 -7
  500. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs +0 -26
  501. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs.map +0 -7
  502. package/dist/lib/node-esm/types.mjs +0 -11
  503. package/dist/types/src/capabilities/capabilities.d.ts +0 -10
  504. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  505. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
  506. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  507. package/dist/types/src/components/DevicesContainer.d.ts.map +0 -1
  508. package/dist/types/src/components/DevicesContainer.stories.d.ts +0 -8
  509. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +0 -1
  510. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  511. package/dist/types/src/components/ProfileContainer.d.ts.map +0 -1
  512. package/dist/types/src/components/ProfileContainer.stories.d.ts +0 -8
  513. package/dist/types/src/components/ProfileContainer.stories.d.ts.map +0 -1
  514. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +0 -1
  515. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +0 -8
  516. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +0 -1
  517. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts +0 -4
  518. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +0 -1
  519. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +0 -8
  520. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +0 -1
  521. package/dist/types/src/components/ResetDialog.d.ts +0 -7
  522. package/dist/types/src/components/ResetDialog.d.ts.map +0 -1
  523. package/dist/types/src/components/ResetDialog.stories.d.ts +0 -10
  524. package/dist/types/src/components/ResetDialog.stories.d.ts.map +0 -1
  525. package/dist/types/src/events.d.ts +0 -8
  526. package/dist/types/src/events.d.ts.map +0 -1
  527. package/dist/types/src/types.d.ts.map +0 -1
  528. package/src/capabilities/capabilities.ts +0 -17
  529. package/src/capabilities/intent-resolver.ts +0 -250
  530. package/src/components/DevicesContainer.stories.tsx +0 -49
  531. package/src/components/JoinDialog.tsx +0 -53
  532. package/src/components/ProfileContainer.stories.tsx +0 -29
  533. package/src/components/RecoveryCredentialsContainer.stories.tsx +0 -44
  534. package/src/components/RecoveryCredentialsContainer.tsx +0 -73
  535. package/src/components/ResetDialog.stories.tsx +0 -53
  536. package/src/components/ResetDialog.tsx +0 -49
  537. package/src/events.ts +0 -15
  538. /package/dist/lib/{browser/types.mjs.map → neutral/ClientPlugin.mjs.map} +0 -0
  539. /package/dist/lib/{node-esm/types.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  540. /package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.d.ts +0 -0
  541. /package/dist/types/src/{components → containers/ProfileContainer}/ProfileContainer.d.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/DevicesContainer.tsx", "../../../src/components/JoinDialog.tsx", "../../../src/components/ProfileContainer.tsx", "../../../src/components/RecoveryCodeDialog.tsx", "../../../src/components/RecoveryCredentialsContainer.tsx", "../../../src/components/ResetDialog.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Check, X } from '@phosphor-icons/react';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\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, IconButton, List, useId, useTranslation } from '@dxos/react-ui';\nimport {\n ControlFrame,\n ControlFrameItem,\n ControlGroup,\n ControlItem,\n ControlPage,\n ControlSection,\n} from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getSize, mx } from '@dxos/react-ui-theme';\nimport { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport type DevicesContainerProps = {\n createInvitationUrl?: (invitationCode: string) => string;\n};\n\nexport const DevicesContainer = ({ createInvitationUrl }: DevicesContainerProps) => {\n const { t } = useTranslation('os');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const devices = useDevices();\n const { swarm: connectionState } = useNetworkStatus();\n\n const handleResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ResetStorage)), [dispatch]);\n\n const handleRecover = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'recover' })),\n [dispatch],\n );\n\n const handleJoinNewIdentity = useCallback(\n () => dispatch(createIntent(ClientAction.ResetStorage, { mode: 'join new identity' })),\n [dispatch],\n );\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('devices verbose label', { ns: CLIENT_PLUGIN })}\n description={t('devices description', { ns: CLIENT_PLUGIN })}\n >\n <ControlFrame>\n <ControlFrameItem title={t('devices label', { ns: CLIENT_PLUGIN })}>\n <List>\n {devices.map((device: Device) => {\n return (\n <DeviceListItem\n key={device.deviceKey.toHex()}\n device={device}\n connectionState={connectionState}\n />\n );\n })}\n </List>\n </ControlFrameItem>\n {createInvitationUrl && (\n <ControlFrameItem title='Add device'>\n <DeviceInvitation createInvitationUrl={createInvitationUrl} />\n </ControlFrameItem>\n )}\n </ControlFrame>\n </ControlSection>\n <ControlSection\n title={t('danger zone title', { ns: CLIENT_PLUGIN })}\n description={t('danger zone description', { ns: CLIENT_PLUGIN })}\n >\n <ControlGroup>\n <ControlItem\n title={t('reset device label')}\n description={t('reset device description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleResetStorage} data-testid='devicesContainer.reset'>\n {t('reset device label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('recover identity label')}\n description={t('recover identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button variant='destructive' onClick={handleRecover} data-testid='devicesContainer.recover'>\n {t('recover identity label')}\n </Button>\n </ControlItem>\n <ControlItem\n title={t('join new identity label')}\n description={t('join new identity description', { ns: CLIENT_PLUGIN })}\n >\n <Button\n variant='destructive'\n onClick={handleJoinNewIdentity}\n data-testid='devicesContainer.joinExisting'\n >\n {t('join new identity label')}\n </Button>\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\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(CLIENT_PLUGIN);\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 mbe-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='is-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('os');\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: CLIENT_PLUGIN })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full 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 <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('os');\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='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-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 ? <Check className={mx('m-1.5', getSize(6))} /> : <X className={mx('m-1.5', getSize(6))} />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction } 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';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const JOIN_DIALOG = `${CLIENT_PLUGIN}/JoinDialog`;\n\nexport const JoinDialog = (props: JoinPanelProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(CLIENT_PLUGIN);\n\n const handleCancelResetStorage = useCallback(() => dispatch(createIntent(ClientAction.ShareIdentity)), [dispatch]);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n if (result?.identityKey) {\n await Promise.all([\n dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } })),\n dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: props.initialDisposition === 'recover-identity' ? 'identity.recover' : 'identity.join',\n }),\n ),\n ]);\n }\n },\n [dispatch],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\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 { Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { useClient } from '@dxos/react-client';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport { ButtonGroup, Clipboard, Input, useTranslation } from '@dxos/react-ui';\nimport {\n Form,\n type InputComponent,\n ControlItem,\n ControlItemInput,\n ControlSection,\n ControlPage,\n} from '@dxos/react-ui-form';\nimport { EmojiPickerBlock, HuePicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { hexToHue, hexToEmoji } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\n// TODO(thure): Factor out?\nconst getDefaultHueValue = (identity: Identity | null) => hexToHue(identity?.identityKey.toHex() ?? '0');\nconst getDefaultEmojiValue = (identity: Identity | null) => hexToEmoji(identity?.identityKey.toHex() ?? '0');\nconst getHueValue = (identity: Identity | null) => identity?.profile?.data?.hue || getDefaultHueValue(identity);\nconst getEmojiValue = (identity: Identity | null) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);\n\nexport const ProfileContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const [displayName, setDisplayNameDirectly] = useState(identity?.profile?.displayName ?? '');\n const [emoji, setEmojiDirectly] = useState<string>(getEmojiValue(identity));\n const [hue, setHueDirectly] = useState<string>(getHueValue(identity));\n\n const updateProfile = useMemo(\n () =>\n debounce(\n (profile: Partial<Profile>) =>\n client.halo.updateProfile({\n displayName: profile.displayName,\n data: {\n emoji: profile.emoji,\n hue: profile.hue,\n },\n }),\n 2_000,\n ),\n [],\n );\n\n const handleSave = useCallback(\n (profile: Profile) => {\n setDisplayNameDirectly(profile.displayName);\n setEmojiDirectly(profile.emoji);\n setHueDirectly(profile.hue);\n updateProfile(profile);\n },\n [identity],\n );\n\n const values = useMemo(\n () => ({\n displayName,\n emoji,\n hue,\n did: identity?.did,\n }),\n [identity, displayName, emoji, hue],\n );\n\n // TODO(wittjosiah): Integrate descriptions with the form schema.\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n displayName: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n emoji: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextEmoji: string) => onValueChange(type, nextEmoji), [onValueChange, type]);\n const handleEmojiReset = useCallback(\n () => onValueChange(type, getDefaultEmojiValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('icon description')}>\n <EmojiPickerBlock\n triggerVariant='default'\n emoji={getValue()}\n onChangeEmoji={handleChange}\n onClickClear={handleEmojiReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleHueReset = useCallback(\n () => onValueChange(type, getDefaultHueValue(identity)),\n [onValueChange, type],\n );\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleHueReset}\n classNames='[--hue-preview-size:1.5rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n // TODO(wittjosiah): We need text input annotations for disabled and copyable.\n did: ({ label, getValue }) => {\n return (\n <ControlItemInput title={label} description={t('did description')}>\n <ButtonGroup>\n <Input.TextInput value={getValue()} disabled classNames='min-is-64' />\n <Clipboard.IconButton value={getValue() ?? ''} />\n </ButtonGroup>\n </ControlItemInput>\n );\n },\n }),\n [t],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <Clipboard.Provider>\n <ControlSection title={t('profile label')} description={t('profile description')}>\n <Form\n schema={ProfileSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n classNames='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-4'\n outerSpacing={false}\n />\n </ControlSection>\n </Clipboard.Provider>\n </ControlPage>\n </StackItem.Content>\n );\n};\n\n// TODO(wittjosiah): Integrate annotations with translations.\nconst ProfileSchema = Schema.Struct({\n displayName: Schema.String.annotations({ title: 'Display name' }),\n emoji: Schema.String.annotations({ title: 'Avatar' }),\n hue: Schema.String.annotations({ title: 'Color' }),\n did: Schema.String.annotations({ title: 'DID' }),\n});\ntype Profile = Schema.Schema.Type<typeof ProfileSchema>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { AlertDialog, Button, Clipboard, Input, useTranslation } from '@dxos/react-ui';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport const RECOVERY_CODE_DIALOG = `${CLIENT_PLUGIN}/RecoveryCodeDialog`;\n\nexport type RecoveryCodeDialogProps = {\n code: string;\n};\n\nexport const RecoveryCodeDialog = ({ code }: RecoveryCodeDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const [confirmation, setConfirmation] = useState(false);\n\n const handleConfirmation = useCallback((checked: boolean) => setConfirmation(checked), []);\n\n return (\n <AlertDialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <AlertDialog.Title>{t('recovery code dialog title')}</AlertDialog.Title>\n <p className='py-4'>{t('recovery code dialog description')}</p>\n <Clipboard.Provider>\n <Code code={code} />\n </Clipboard.Provider>\n <div className='flex flex-col py-4 gap-2'>\n <p>{t('recovery code dialog warning 1')}</p>\n <p>{t('recovery code dialog warning 2')}</p>\n </div>\n <div className='flex items-center gap-2 pbe-4'>\n <Input.Root>\n <Input.Checkbox\n data-testid='recoveryCode.confirm'\n checked={confirmation}\n onCheckedChange={handleConfirmation}\n />\n <Input.Label>{t('recovery code confirmation label')}</Input.Label>\n </Input.Root>\n </div>\n <div className='flex justify-end'>\n <AlertDialog.Action asChild>\n <Button data-testid='recoveryCode.continue' variant='primary' disabled={!confirmation}>\n {t('continue label')}\n </Button>\n </AlertDialog.Action>\n </div>\n </AlertDialog.Content>\n );\n};\n\nconst Code = ({ code }: { code: string }) => {\n const words = code.split(' ');\n return (\n <div className='relative p-2 border border-separator rounded group'>\n <Clipboard.IconButton value={code} classNames='absolute top-2 right-2 invisible group-hover:visible' />\n <div className='grid grid-cols-4'>\n {words.map((word, i) => (\n <div key={i} className='flex items-center p-2 gap-2'>\n <div className='w-4 text-xs text-center text-subdued'>{i + 1}</div>\n <div className='text-sm'>{word}</div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, useTranslation, Message } from '@dxos/react-ui';\nimport { ControlGroup, ControlItem, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { ClientAction } from '../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <ControlGroup>\n <ControlItem title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreatePasskey))}\n />\n </ControlItem>\n <ControlItem title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n size={5}\n onClick={() => dispatch(createIntent(ClientAction.CreateRecoveryCode))}\n />\n </ControlItem>\n </ControlGroup>\n </ControlSection>\n <ControlSection title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error' classNames='container-max-width'>\n <Message.Title icon='ph--shield-warning--duotone'>{t('no credentials title')}</Message.Title>\n <Message.Content>{t('no credentials message')}</Message.Content>\n </Message.Root>\n ) : (\n <List classNames='container-max-width pli-2'>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' size={5} />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { ConfirmReset, type ConfirmResetProps } from '@dxos/shell/react';\n\nimport { CLIENT_PLUGIN } from '../meta';\nimport { type ClientPluginOptions } from '../types';\n\nexport const RESET_DIALOG = `${CLIENT_PLUGIN}/ResetDialog`;\n\nexport type ResetDialogProps = Pick<ConfirmResetProps, 'mode'> & Pick<ClientPluginOptions, 'onReset'>;\n\nexport const ResetDialog = ({ mode, onReset }: ResetDialogProps) => {\n const { t } = useTranslation(CLIENT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n\n const handleReset = useCallback(async () => {\n await client.reset();\n const target =\n mode === 'join new identity' ? 'deviceInvitation' : mode === 'recover' ? 'recoverIdentity' : undefined;\n await onReset?.({ target });\n }, [dispatch, client, mode, onReset]);\n\n const handleCancel = useCallback(() => {\n void dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: { state: false },\n }),\n );\n }, [dispatch]);\n\n // TODO(wittjosiah): Add the sr-only translations.\n // TODO(wittjosiah): Add missing descriptions to other dialogs.\n return (\n <Dialog.Content classNames='bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>\n <Dialog.Title classNames='sr-only'>{t('reset dialog title')}</Dialog.Title>\n <Dialog.Description classNames='sr-only'>{t('reset dialog description')}</Dialog.Description>\n <ConfirmReset active mode={mode} onConfirm={handleReset} onCancel={handleCancel} />\n </Dialog.Content>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_app_framework", "import_react_ui", "import_react_client", "import_halo", "import_react_ui_form", "import_react_ui_stack", "import_util", "DevicesContainer", "createInvitationUrl", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "devices", "useDevices", "swarm", "connectionState", "useNetworkStatus", "handleResetStorage", "useCallback", "createIntent", "ClientAction", "ResetStorage", "handleRecover", "mode", "handleJoinNewIdentity", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ns", "CLIENT_PLUGIN", "description", "ControlFrame", "ControlFrameItem", "List", "map", "device", "DeviceListItem", "key", "deviceKey", "toHex", "DeviceInvitation", "ControlGroup", "ControlItem", "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", "Viewport", "Root", "Views", "View", "id", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "div", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "value", "AuthCode", "large", "Check", "mx", "getSize", "X", "JOIN_DIALOG", "JoinDialog", "handleCancelResetStorage", "ShareIdentity", "handleDone", "result", "identityKey", "Promise", "all", "LayoutAction", "UpdateDialog", "part", "options", "ObservabilityAction", "SendEvent", "name", "initialDisposition", "Dialog", "Title", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "onCancelResetStorage", "onDone", "getDefaultHueValue", "identity", "hexToHue", "getDefaultEmojiValue", "getHueValue", "profile", "data", "hue", "getEmojiValue", "ProfileContainer", "useIdentity", "displayName", "setDisplayNameDirectly", "setEmojiDirectly", "setHueDirectly", "updateProfile", "useMemo", "debounce", "handleSave", "did", "customElements", "type", "getValue", "onValueChange", "handleChange", "target", "ControlItemInput", "Input", "TextInput", "onChange", "placeholder", "nextEmoji", "handleEmojiReset", "EmojiPickerBlock", "triggerVariant", "onChangeEmoji", "onClickClear", "nextHue", "handleHueReset", "HuePicker", "onReset", "ButtonGroup", "Form", "schema", "ProfileSchema", "autoSave", "onSave", "Custom", "outerSpacing", "Schema", "Struct", "String", "annotations", "RECOVERY_CODE_DIALOG", "RecoveryCodeDialog", "confirmation", "setConfirmation", "handleConfirmation", "checked", "AlertDialog", "Code", "Checkbox", "onCheckedChange", "Label", "Action", "words", "split", "word", "i", "MANAGE_CREDENTIALS_DIALOG", "RecoveryCredentialsContainer", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "size", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "ListItem", "Endcap", "Icon", "Heading", "issuanceDate", "toLocaleString", "RESET_DIALOG", "ResetDialog", "handleReset", "reset", "handleCancel", "Description", "ConfirmReset", "active", "onConfirm"]
7
- }
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_BL6EBWOS_exports = {};
20
- __export(chunk_BL6EBWOS_exports, {
21
- Account: () => Account,
22
- ClientAction: () => ClientAction
23
- });
24
- module.exports = __toCommonJS(chunk_BL6EBWOS_exports);
25
- var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
26
- var import_effect = require("effect");
27
- var import_react_client = require("@dxos/react-client");
28
- var IdentitySchema = import_effect.Schema.Struct({
29
- identityKey: import_effect.Schema.instanceOf(import_react_client.PublicKey),
30
- spaceKey: import_effect.Schema.optional(import_effect.Schema.instanceOf(import_react_client.PublicKey)),
31
- profile: import_effect.Schema.optional(import_effect.Schema.Struct({
32
- displayName: import_effect.Schema.optional(import_effect.Schema.String),
33
- avatarCid: import_effect.Schema.optional(import_effect.Schema.String),
34
- data: import_effect.Schema.optional(import_effect.Schema.Record({
35
- key: import_effect.Schema.String,
36
- value: import_effect.Schema.Any
37
- }))
38
- }))
39
- });
40
- var CLIENT_ACTION = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/action`;
41
- (function(ClientAction2) {
42
- const ProfileSchema = import_effect.Schema.Struct({
43
- displayName: import_effect.Schema.optional(import_effect.Schema.String),
44
- avatarCid: import_effect.Schema.optional(import_effect.Schema.String),
45
- data: import_effect.Schema.optional(import_effect.Schema.Record({
46
- key: import_effect.Schema.String,
47
- value: import_effect.Schema.Any
48
- }))
49
- });
50
- class CreateIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-identity`, {
51
- input: ProfileSchema,
52
- output: IdentitySchema
53
- }) {
54
- }
55
- ClientAction2.CreateIdentity = CreateIdentity;
56
- class JoinIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/join-identity`, {
57
- input: import_effect.Schema.Struct({
58
- invitationCode: import_effect.Schema.optional(import_effect.Schema.String)
59
- }),
60
- output: import_effect.Schema.Void
61
- }) {
62
- }
63
- ClientAction2.JoinIdentity = JoinIdentity;
64
- class ShareIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/share-identity`, {
65
- input: import_effect.Schema.Void,
66
- output: import_effect.Schema.Void
67
- }) {
68
- }
69
- ClientAction2.ShareIdentity = ShareIdentity;
70
- class RecoverIdentity extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/recover-identity`, {
71
- input: import_effect.Schema.Void,
72
- output: import_effect.Schema.Void
73
- }) {
74
- }
75
- ClientAction2.RecoverIdentity = RecoverIdentity;
76
- class ResetStorage extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/reset-storage`, {
77
- input: import_effect.Schema.Struct({
78
- mode: import_effect.Schema.optional(import_effect.Schema.String)
79
- }),
80
- output: import_effect.Schema.Void
81
- }) {
82
- }
83
- ClientAction2.ResetStorage = ResetStorage;
84
- class CreateAgent extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-agent`, {
85
- input: import_effect.Schema.Void,
86
- output: import_effect.Schema.Void
87
- }) {
88
- }
89
- ClientAction2.CreateAgent = CreateAgent;
90
- class CreateRecoveryCode extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-recovery-code`, {
91
- input: import_effect.Schema.Void,
92
- output: import_effect.Schema.Void
93
- }) {
94
- }
95
- ClientAction2.CreateRecoveryCode = CreateRecoveryCode;
96
- class CreatePasskey extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/create-passkey`, {
97
- input: import_effect.Schema.Void,
98
- output: import_effect.Schema.Void
99
- }) {
100
- }
101
- ClientAction2.CreatePasskey = CreatePasskey;
102
- class RedeemPasskey extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-passkey`, {
103
- input: import_effect.Schema.Void,
104
- output: import_effect.Schema.Void
105
- }) {
106
- }
107
- ClientAction2.RedeemPasskey = RedeemPasskey;
108
- class RedeemToken extends import_effect.Schema.TaggedClass()(`${CLIENT_ACTION}/redeem-token`, {
109
- input: import_effect.Schema.Struct({
110
- token: import_effect.Schema.String
111
- }),
112
- output: import_effect.Schema.Void
113
- }) {
114
- }
115
- ClientAction2.RedeemToken = RedeemToken;
116
- })(ClientAction || (ClientAction = {}));
117
- (function(Account2) {
118
- const _id = "dxos.org.plugin.client.account";
119
- Account2.id = `!${_id}`;
120
- Account2.Profile = `${_id}.profile`;
121
- Account2.Devices = `${_id}.devices`;
122
- Account2.Security = `${_id}.security`;
123
- })(Account || (Account = {}));
124
- var ClientAction;
125
- var Account;
126
- // Annotate the CommonJS export names for ESM import in node:
127
- 0 && (module.exports = {
128
- Account,
129
- ClientAction
130
- });
131
- //# sourceMappingURL=chunk-BL6EBWOS.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type PluginContext } from '@dxos/app-framework';\nimport { type Client, PublicKey, type ClientOptions } from '@dxos/react-client';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { CLIENT_PLUGIN } from './meta';\n\n// TODO(wittjosiah): Factor out. Generate?\nconst IdentitySchema = Schema.Struct({\n identityKey: Schema.instanceOf(PublicKey),\n spaceKey: Schema.optional(Schema.instanceOf(PublicKey)),\n profile: Schema.optional(\n Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n ),\n});\n\nconst CLIENT_ACTION = `${CLIENT_PLUGIN}/action`;\nexport namespace ClientAction {\n const ProfileSchema = Schema.Struct({\n displayName: Schema.optional(Schema.String),\n avatarCid: Schema.optional(Schema.String),\n data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n });\n\n export class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${CLIENT_ACTION}/create-identity`, {\n input: ProfileSchema,\n output: IdentitySchema,\n }) {}\n\n export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${CLIENT_ACTION}/join-identity`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${CLIENT_ACTION}/share-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${CLIENT_ACTION}/recover-identity`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${CLIENT_ACTION}/reset-storage`, {\n input: Schema.Struct({\n mode: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${CLIENT_ACTION}/create-agent`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(\n `${CLIENT_ACTION}/create-recovery-code`,\n {\n input: Schema.Void,\n output: Schema.Void,\n },\n ) {}\n\n export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${CLIENT_ACTION}/create-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${CLIENT_ACTION}/redeem-passkey`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${CLIENT_ACTION}/redeem-token`, {\n input: Schema.Struct({\n token: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type ClientPluginOptions = ClientOptions & {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Run after the client has been initialized.\n */\n onClientInitialized?: (context: PluginContext, client: Client) => MaybePromise<void>;\n\n /**\n * Called when spaces are ready.\n */\n onSpacesReady?: (context: PluginContext, client: Client) => MaybePromise<void>;\n\n /**\n * Called when the client is reset.\n */\n onReset?: (params: { target?: string }) => MaybePromise<void>;\n};\n\nexport namespace Account {\n // TODO(wittjosiah): Cannot use slashes in ids until we have a router which decouples ids from url paths.\n const _id = 'dxos.org.plugin.client.account';\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n export const id = `!${_id}`;\n\n export const Profile = `${_id}.profile`;\n export const Devices = `${_id}.devices`;\n export const Security = `${_id}.security`;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAGvB,0BAA2D;AAM3D,IAAMA,iBAAiBC,qBAAOC,OAAO;EACnCC,aAAaF,qBAAOG,WAAWC,6BAAAA;EAC/BC,UAAUL,qBAAOM,SAASN,qBAAOG,WAAWC,6BAAAA,CAAAA;EAC5CG,SAASP,qBAAOM,SACdN,qBAAOC,OAAO;IACZO,aAAaR,qBAAOM,SAASN,qBAAOS,MAAM;IAC1CC,WAAWV,qBAAOM,SAASN,qBAAOS,MAAM;IACxCE,MAAMX,qBAAOM,SAASN,qBAAOY,OAAO;MAAEC,KAAKb,qBAAOS;MAAQK,OAAOd,qBAAOe;IAAI,CAAA,CAAA;EAC9E,CAAA,CAAA;AAEJ,CAAA;AAEA,IAAMC,gBAAgB,GAAGC,mCAAAA;UACRC,eAAAA;AACf,QAAMC,gBAAgBnB,qBAAOC,OAAO;IAClCO,aAAaR,qBAAOM,SAASN,qBAAOS,MAAM;IAC1CC,WAAWV,qBAAOM,SAASN,qBAAOS,MAAM;IACxCE,MAAMX,qBAAOM,SAASN,qBAAOY,OAAO;MAAEC,KAAKb,qBAAOS;MAAQK,OAAOd,qBAAOe;IAAI,CAAA,CAAA;EAC9E,CAAA;EAEO,MAAMK,uBAAuBpB,qBAAOqB,YAAW,EAAmB,GAAGL,aAAAA,oBAAiC;IAC3GM,OAAOH;IACPI,QAAQxB;EACV,CAAA,EAAA;EAAI;gBAHSqB,iBAAAA;EAKN,MAAMI,qBAAqBxB,qBAAOqB,YAAW,EAAiB,GAAGL,aAAAA,kBAA+B;IACrGM,OAAOtB,qBAAOC,OAAO;MACnBwB,gBAAgBzB,qBAAOM,SAASN,qBAAOS,MAAM;IAC/C,CAAA;IACAc,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBALSF,eAAAA;EAON,MAAMG,sBAAsB3B,qBAAOqB,YAAW,EAAkB,GAAGL,aAAAA,mBAAgC;IACxGM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBAHSC,gBAAAA;EAKN,MAAMC,wBAAwB5B,qBAAOqB,YAAW,EAAoB,GAAGL,aAAAA,qBAAkC;IAC9GM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBAHSE,kBAAAA;EAKN,MAAMC,qBAAqB7B,qBAAOqB,YAAW,EAAiB,GAAGL,aAAAA,kBAA+B;IACrGM,OAAOtB,qBAAOC,OAAO;MACnB6B,MAAM9B,qBAAOM,SAASN,qBAAOS,MAAM;IACrC,CAAA;IACAc,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBALSG,eAAAA;EAON,MAAME,oBAAoB/B,qBAAOqB,YAAW,EAAgB,GAAGL,aAAAA,iBAA8B;IAClGM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBAHSK,cAAAA;EAKN,MAAMC,2BAA2BhC,qBAAOqB,YAAW,EACxD,GAAGL,aAAAA,yBACH;IACEM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EACC;gBANUM,qBAAAA;EAQN,MAAMC,sBAAsBjC,qBAAOqB,YAAW,EAAkB,GAAGL,aAAAA,mBAAgC;IACxGM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBAHSO,gBAAAA;EAKN,MAAMC,sBAAsBlC,qBAAOqB,YAAW,EAAkB,GAAGL,aAAAA,mBAAgC;IACxGM,OAAOtB,qBAAO0B;IACdH,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBAHSQ,gBAAAA;EAKN,MAAMC,oBAAoBnC,qBAAOqB,YAAW,EAAgB,GAAGL,aAAAA,iBAA8B;IAClGM,OAAOtB,qBAAOC,OAAO;MACnBmC,OAAOpC,qBAAOS;IAChB,CAAA;IACAc,QAAQvB,qBAAO0B;EACjB,CAAA,EAAA;EAAI;gBALSS,cAAAA;AAMf,GAjEiBjB,iBAAAA,eAAAA,CAAAA,EAAAA;UA8FAmB,UAAAA;AAEf,QAAMC,MAAM;WAGCC,KAAK,IAAID,GAAAA;WAETE,UAAU,GAAGF,GAAAA;WACbG,UAAU,GAAGH,GAAAA;WACbI,WAAW,GAAGJ,GAAAA;AAC7B,GAViBD,YAAAA,UAAAA,CAAAA,EAAAA;;;",
6
- "names": ["IdentitySchema", "Schema", "Struct", "identityKey", "instanceOf", "PublicKey", "spaceKey", "optional", "profile", "displayName", "String", "avatarCid", "data", "Record", "key", "value", "Any", "CLIENT_ACTION", "CLIENT_PLUGIN", "ClientAction", "ProfileSchema", "CreateIdentity", "TaggedClass", "input", "output", "JoinIdentity", "invitationCode", "Void", "ShareIdentity", "RecoverIdentity", "ResetStorage", "mode", "CreateAgent", "CreateRecoveryCode", "CreatePasskey", "RedeemPasskey", "RedeemToken", "token", "Account", "_id", "id", "Profile", "Devices", "Security"]
7
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_CIYUKY3J_exports = {};
20
- __export(chunk_CIYUKY3J_exports, {
21
- ClientCapabilities: () => ClientCapabilities
22
- });
23
- module.exports = __toCommonJS(chunk_CIYUKY3J_exports);
24
- var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
25
- var import_app_framework = require("@dxos/app-framework");
26
- (function(ClientCapabilities2) {
27
- ClientCapabilities2.Client = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/client`);
28
- ClientCapabilities2.Schema = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/schema`);
29
- ClientCapabilities2.SchemaWhiteList = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/schema-whitelist`);
30
- ClientCapabilities2.Migration = (0, import_app_framework.defineCapability)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/capability/migration`);
31
- })(ClientCapabilities || (ClientCapabilities = {}));
32
- var ClientCapabilities;
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
35
- ClientCapabilities
36
- });
37
- //# sourceMappingURL=chunk-CIYUKY3J.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type Client } from '@dxos/client';\nimport { type ObjectMigration } from '@dxos/client/echo';\nimport { type TypedObject } from '@dxos/echo-schema';\n\nimport { CLIENT_PLUGIN } from '../meta';\n\nexport namespace ClientCapabilities {\n export const Client = defineCapability<Client>(`${CLIENT_PLUGIN}/capability/client`);\n export const Schema = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema`);\n export const SchemaWhiteList = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema-whitelist`);\n export const Migration = defineCapability<ObjectMigration[]>(`${CLIENT_PLUGIN}/capability/migration`);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;UAOhBA,qBAAAA;sBACFC,aAASC,uCAAyB,GAAGC,mCAAAA,oBAAiC;sBACtEC,aAASF,uCAAgC,GAAGC,mCAAAA,oBAAiC;sBAC7EE,sBAAkBH,uCAAgC,GAAGC,mCAAAA,8BAA2C;sBAChGG,gBAAYJ,uCAAoC,GAAGC,mCAAAA,uBAAoC;AACtG,GALiBH,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
6
- "names": ["ClientCapabilities", "Client", "defineCapability", "CLIENT_PLUGIN", "Schema", "SchemaWhiteList", "Migration"]
7
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_DJKWB5L6_exports = {};
20
- __export(chunk_DJKWB5L6_exports, {
21
- CLIENT_PLUGIN: () => CLIENT_PLUGIN,
22
- meta: () => meta
23
- });
24
- module.exports = __toCommonJS(chunk_DJKWB5L6_exports);
25
- var CLIENT_PLUGIN = "dxos.org/plugin/client";
26
- var meta = {
27
- id: CLIENT_PLUGIN,
28
- name: "Client"
29
- };
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- CLIENT_PLUGIN,
33
- meta
34
- });
35
- //# sourceMappingURL=chunk-DJKWB5L6.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const CLIENT_PLUGIN = 'dxos.org/plugin/client';\n\nexport const meta: PluginMeta = {\n id: CLIENT_PLUGIN,\n name: 'Client',\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,gBAAgB;AAEtB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;AACR;",
6
- "names": ["CLIENT_PLUGIN", "meta", "id", "name"]
7
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_DNKJCPU7_exports = {};
20
- __export(chunk_DNKJCPU7_exports, {
21
- ClientEvents: () => ClientEvents
22
- });
23
- module.exports = __toCommonJS(chunk_DNKJCPU7_exports);
24
- var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
25
- var import_app_framework = require("@dxos/app-framework");
26
- (function(ClientEvents2) {
27
- ClientEvents2.ClientReady = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/client-ready`);
28
- ClientEvents2.SetupSchema = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/setup-schema`);
29
- ClientEvents2.SetupMigration = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/setup-migration`);
30
- ClientEvents2.IdentityCreated = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/identity-created`);
31
- ClientEvents2.SpacesReady = (0, import_app_framework.defineEvent)(`${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/event/spaces-ready`);
32
- })(ClientEvents || (ClientEvents = {}));
33
- var ClientEvents;
34
- // Annotate the CommonJS export names for ESM import in node:
35
- 0 && (module.exports = {
36
- ClientEvents
37
- });
38
- //# sourceMappingURL=chunk-DNKJCPU7.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/events.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { CLIENT_PLUGIN } from './meta';\n\nexport namespace ClientEvents {\n export const ClientReady = defineEvent(`${CLIENT_PLUGIN}/event/client-ready`);\n export const SetupSchema = defineEvent(`${CLIENT_PLUGIN}/event/setup-schema`);\n export const SetupMigration = defineEvent(`${CLIENT_PLUGIN}/event/setup-migration`);\n export const IdentityCreated = defineEvent(`${CLIENT_PLUGIN}/event/identity-created`);\n export const SpacesReady = defineEvent(`${CLIENT_PLUGIN}/event/spaces-ready`);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA4B;UAIXA,eAAAA;gBACFC,kBAAcC,kCAAY,GAAGC,mCAAAA,qBAAkC;gBAC/DC,kBAAcF,kCAAY,GAAGC,mCAAAA,qBAAkC;gBAC/DE,qBAAiBH,kCAAY,GAAGC,mCAAAA,wBAAqC;gBACrEG,sBAAkBJ,kCAAY,GAAGC,mCAAAA,yBAAsC;gBACvEI,kBAAcL,kCAAY,GAAGC,mCAAAA,qBAAkC;AAC9E,GANiBH,iBAAAA,eAAAA,CAAAA,EAAAA;;",
6
- "names": ["ClientEvents", "ClientReady", "defineEvent", "CLIENT_PLUGIN", "SetupSchema", "SetupMigration", "IdentityCreated", "SpacesReady"]
7
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var client_Q3EQS4HA_exports = {};
20
- __export(client_Q3EQS4HA_exports, {
21
- default: () => client_default
22
- });
23
- module.exports = __toCommonJS(client_Q3EQS4HA_exports);
24
- var import_chunk_DNKJCPU7 = require("./chunk-DNKJCPU7.cjs");
25
- var import_chunk_CIYUKY3J = require("./chunk-CIYUKY3J.cjs");
26
- var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
27
- var import_app_framework = require("@dxos/app-framework");
28
- var import_react_client = require("@dxos/react-client");
29
- var client_default = async ({ context, onClientInitialized, onSpacesReady, ...options }) => {
30
- const client = new import_react_client.Client(options);
31
- await client.initialize();
32
- await onClientInitialized?.(context, client);
33
- client.reloaded.on(() => {
34
- client.halo.identity.subscribe(async (identity) => {
35
- if (identity) {
36
- window.location.href = window.location.origin;
37
- }
38
- });
39
- });
40
- const subscription = client.spaces.isReady.subscribe(async (ready) => {
41
- if (ready) {
42
- await context.activatePromise(import_chunk_DNKJCPU7.ClientEvents.SpacesReady);
43
- await onSpacesReady?.(context, client);
44
- }
45
- });
46
- return (0, import_app_framework.contributes)(import_chunk_CIYUKY3J.ClientCapabilities.Client, client, async () => {
47
- subscription.unsubscribe();
48
- await client.destroy();
49
- });
50
- };
51
- //# sourceMappingURL=client-Q3EQS4HA.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/client.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginContext } from '@dxos/app-framework';\nimport { Client } from '@dxos/react-client';\n\nimport { ClientCapabilities } from './capabilities';\nimport { ClientEvents } from '../events';\nimport { type ClientPluginOptions } from '../types';\n\ntype ClientCapabilityOptions = Omit<ClientPluginOptions, 'appKey' | 'invitationUrl' | 'invitationParam' | 'onReset'> & {\n context: PluginContext;\n};\n\nexport default async ({ context, onClientInitialized, onSpacesReady, ...options }: ClientCapabilityOptions) => {\n const client = new Client(options);\n await client.initialize();\n await onClientInitialized?.(context, client);\n\n // TODO(wittjosiah): Remove. This is a hack to get the app to boot with the new identity after a reset.\n client.reloaded.on(() => {\n client.halo.identity.subscribe(async (identity) => {\n if (identity) {\n window.location.href = window.location.origin;\n }\n });\n });\n\n const subscription = client.spaces.isReady.subscribe(async (ready) => {\n if (ready) {\n await context.activatePromise(ClientEvents.SpacesReady);\n await onSpacesReady?.(context, client);\n }\n });\n\n return contributes(ClientCapabilities.Client, client, async () => {\n subscription.unsubscribe();\n await client.destroy();\n });\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAgD;AAChD,0BAAuB;AAUvB,IAAA,iBAAe,OAAO,EAAEA,SAASC,qBAAqBC,eAAe,GAAGC,QAAAA,MAAkC;AACxG,QAAMC,SAAS,IAAIC,2BAAOF,OAAAA;AAC1B,QAAMC,OAAOE,WAAU;AACvB,QAAML,sBAAsBD,SAASI,MAAAA;AAGrCA,SAAOG,SAASC,GAAG,MAAA;AACjBJ,WAAOK,KAAKC,SAASC,UAAU,OAAOD,aAAAA;AACpC,UAAIA,UAAU;AACZE,eAAOC,SAASC,OAAOF,OAAOC,SAASE;MACzC;IACF,CAAA;EACF,CAAA;AAEA,QAAMC,eAAeZ,OAAOa,OAAOC,QAAQP,UAAU,OAAOQ,UAAAA;AAC1D,QAAIA,OAAO;AACT,YAAMnB,QAAQoB,gBAAgBC,mCAAaC,WAAW;AACtD,YAAMpB,gBAAgBF,SAASI,MAAAA;IACjC;EACF,CAAA;AAEA,aAAOmB,kCAAYC,yCAAmBnB,QAAQD,QAAQ,YAAA;AACpDY,iBAAaS,YAAW;AACxB,UAAMrB,OAAOsB,QAAO;EACtB,CAAA;AACF;",
6
- "names": ["context", "onClientInitialized", "onSpacesReady", "options", "client", "Client", "initialize", "reloaded", "on", "halo", "identity", "subscribe", "window", "location", "href", "origin", "subscription", "spaces", "isReady", "ready", "activatePromise", "ClientEvents", "SpacesReady", "contributes", "ClientCapabilities", "unsubscribe", "destroy"]
7
- }