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

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 (575) hide show
  1. package/dist/lib/browser/DevicesContainer-6AMXWDQC.mjs +270 -0
  2. package/dist/lib/browser/DevicesContainer-6AMXWDQC.mjs.map +7 -0
  3. package/dist/lib/browser/JoinDialog-V6E5PRDR.mjs +61 -0
  4. package/dist/lib/browser/JoinDialog-V6E5PRDR.mjs.map +7 -0
  5. package/dist/lib/browser/ProfileContainer-NY67SRMY.mjs +172 -0
  6. package/dist/lib/browser/ProfileContainer-NY67SRMY.mjs.map +7 -0
  7. package/dist/lib/browser/RecoveryCodeDialog-EI2PAJSC.mjs +61 -0
  8. package/dist/lib/browser/RecoveryCodeDialog-EI2PAJSC.mjs.map +7 -0
  9. package/dist/lib/browser/RecoveryCredentialsContainer-EY7S2Z5D.mjs +59 -0
  10. package/dist/lib/browser/RecoveryCredentialsContainer-EY7S2Z5D.mjs.map +7 -0
  11. package/dist/lib/browser/ResetDialog-IG33IDFF.mjs +54 -0
  12. package/dist/lib/browser/ResetDialog-IG33IDFF.mjs.map +7 -0
  13. package/dist/lib/browser/app-graph-builder-VALIFJHW.mjs +125 -0
  14. package/dist/lib/browser/app-graph-builder-VALIFJHW.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-5JMLFUGB.mjs +177 -0
  16. package/dist/lib/browser/chunk-5JMLFUGB.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-RDIG75CA.mjs → chunk-AYDQURY2.mjs} +35 -13
  18. package/dist/lib/browser/chunk-AYDQURY2.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-C2DNTTWV.mjs +18 -0
  20. package/dist/lib/browser/chunk-C2DNTTWV.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-HSFDKP5D.mjs +15 -0
  22. package/dist/lib/browser/chunk-HSFDKP5D.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  24. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-ZRVMXLDR.mjs → chunk-JHSBBOCI.mjs} +2 -2
  26. package/dist/lib/browser/chunk-JHSBBOCI.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-RGQBPDPU.mjs +8 -0
  28. package/dist/lib/browser/chunk-RGQBPDPU.mjs.map +7 -0
  29. package/dist/lib/browser/cli/index.mjs +1071 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/client-ZBVFWBCD.mjs +95 -0
  32. package/dist/lib/browser/client-ZBVFWBCD.mjs.map +7 -0
  33. package/dist/lib/browser/create-agent-RVXHS2OH.mjs +35 -0
  34. package/dist/lib/browser/create-agent-RVXHS2OH.mjs.map +7 -0
  35. package/dist/lib/browser/create-identity-4WNBRKDW.mjs +31 -0
  36. package/dist/lib/browser/create-identity-4WNBRKDW.mjs.map +7 -0
  37. package/dist/lib/browser/create-passkey-2EEPMDV5.mjs +90 -0
  38. package/dist/lib/browser/create-passkey-2EEPMDV5.mjs.map +7 -0
  39. package/dist/lib/browser/create-recovery-code-BPF6HKWF.mjs +45 -0
  40. package/dist/lib/browser/create-recovery-code-BPF6HKWF.mjs.map +7 -0
  41. package/dist/lib/browser/index.mjs +76 -84
  42. package/dist/lib/browser/index.mjs.map +4 -4
  43. package/dist/lib/browser/join-identity-DVJMX65P.mjs +28 -0
  44. package/dist/lib/browser/join-identity-DVJMX65P.mjs.map +7 -0
  45. package/dist/lib/browser/meta.json +1 -1
  46. package/dist/lib/browser/migrations-I3DAEO7O.mjs +26 -0
  47. package/dist/lib/browser/migrations-I3DAEO7O.mjs.map +7 -0
  48. package/dist/lib/browser/operation-handler-C4KCDS7Z.mjs +17 -0
  49. package/dist/lib/browser/operation-handler-C4KCDS7Z.mjs.map +7 -0
  50. package/dist/lib/browser/operations/index.mjs +13 -0
  51. package/dist/lib/browser/operations/index.mjs.map +7 -0
  52. package/dist/lib/browser/react-context-YAEJ65GW.mjs +27 -0
  53. package/dist/lib/browser/react-context-YAEJ65GW.mjs.map +7 -0
  54. package/dist/lib/browser/react-surface-FLUCQMIE.mjs +78 -0
  55. package/dist/lib/browser/react-surface-FLUCQMIE.mjs.map +7 -0
  56. package/dist/lib/browser/recover-identity-74HATOKZ.mjs +27 -0
  57. package/dist/lib/browser/recover-identity-74HATOKZ.mjs.map +7 -0
  58. package/dist/lib/browser/redeem-passkey-FUNL7BVW.mjs +55 -0
  59. package/dist/lib/browser/redeem-passkey-FUNL7BVW.mjs.map +7 -0
  60. package/dist/lib/browser/redeem-token-GIPESPST.mjs +38 -0
  61. package/dist/lib/browser/redeem-token-GIPESPST.mjs.map +7 -0
  62. package/dist/lib/browser/reset-storage-GLHDCVZ4.mjs +27 -0
  63. package/dist/lib/browser/reset-storage-GLHDCVZ4.mjs.map +7 -0
  64. package/dist/lib/browser/schema-defs-VNCHLGPQ.mjs +29 -0
  65. package/dist/lib/browser/schema-defs-VNCHLGPQ.mjs.map +7 -0
  66. package/dist/lib/browser/share-identity-VWFBNFO3.mjs +32 -0
  67. package/dist/lib/browser/share-identity-VWFBNFO3.mjs.map +7 -0
  68. package/dist/lib/browser/testing/index.mjs +22 -0
  69. package/dist/lib/browser/testing/index.mjs.map +7 -0
  70. package/dist/lib/browser/types/index.mjs +9 -4
  71. package/dist/lib/node-esm/DevicesContainer-FCHPW753.mjs +271 -0
  72. package/dist/lib/node-esm/DevicesContainer-FCHPW753.mjs.map +7 -0
  73. package/dist/lib/node-esm/JoinDialog-PQHUAN5Y.mjs +62 -0
  74. package/dist/lib/node-esm/JoinDialog-PQHUAN5Y.mjs.map +7 -0
  75. package/dist/lib/node-esm/ProfileContainer-H24VZJE3.mjs +173 -0
  76. package/dist/lib/node-esm/ProfileContainer-H24VZJE3.mjs.map +7 -0
  77. package/dist/lib/node-esm/RecoveryCodeDialog-PWBHIQ6D.mjs +62 -0
  78. package/dist/lib/node-esm/RecoveryCodeDialog-PWBHIQ6D.mjs.map +7 -0
  79. package/dist/lib/node-esm/RecoveryCredentialsContainer-BLURHMW6.mjs +60 -0
  80. package/dist/lib/node-esm/RecoveryCredentialsContainer-BLURHMW6.mjs.map +7 -0
  81. package/dist/lib/node-esm/ResetDialog-NSALOOOA.mjs +55 -0
  82. package/dist/lib/node-esm/ResetDialog-NSALOOOA.mjs.map +7 -0
  83. package/dist/lib/node-esm/app-graph-builder-44YGDMXN.mjs +126 -0
  84. package/dist/lib/node-esm/app-graph-builder-44YGDMXN.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-42EQVH2Q.mjs +10 -0
  86. package/dist/lib/node-esm/chunk-42EQVH2Q.mjs.map +7 -0
  87. package/dist/lib/node-esm/{chunk-VENKFPBC.mjs → chunk-5NENK2KO.mjs} +35 -13
  88. package/dist/lib/node-esm/chunk-5NENK2KO.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-QT3EQXDU.mjs → chunk-BOTJSPCT.mjs} +2 -2
  90. package/dist/lib/node-esm/chunk-BOTJSPCT.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-ETBW54NV.mjs +20 -0
  92. package/dist/lib/node-esm/chunk-ETBW54NV.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-FU7MBWDD.mjs +178 -0
  94. package/dist/lib/node-esm/chunk-FU7MBWDD.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  96. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  97. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs +16 -0
  98. package/dist/lib/node-esm/chunk-VLNCZYIC.mjs.map +7 -0
  99. package/dist/lib/node-esm/cli/index.mjs +1072 -0
  100. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  101. package/dist/lib/node-esm/client-OFM3CBYZ.mjs +96 -0
  102. package/dist/lib/node-esm/client-OFM3CBYZ.mjs.map +7 -0
  103. package/dist/lib/node-esm/create-agent-QIWBTZSQ.mjs +36 -0
  104. package/dist/lib/node-esm/create-agent-QIWBTZSQ.mjs.map +7 -0
  105. package/dist/lib/node-esm/create-identity-P7WDMAE7.mjs +32 -0
  106. package/dist/lib/node-esm/create-identity-P7WDMAE7.mjs.map +7 -0
  107. package/dist/lib/node-esm/create-passkey-77HCW3ES.mjs +91 -0
  108. package/dist/lib/node-esm/create-passkey-77HCW3ES.mjs.map +7 -0
  109. package/dist/lib/node-esm/create-recovery-code-CCDGTSPG.mjs +46 -0
  110. package/dist/lib/node-esm/create-recovery-code-CCDGTSPG.mjs.map +7 -0
  111. package/dist/lib/node-esm/index.mjs +76 -84
  112. package/dist/lib/node-esm/index.mjs.map +4 -4
  113. package/dist/lib/node-esm/join-identity-NOGEP7RA.mjs +29 -0
  114. package/dist/lib/node-esm/join-identity-NOGEP7RA.mjs.map +7 -0
  115. package/dist/lib/node-esm/meta.json +1 -1
  116. package/dist/lib/node-esm/migrations-UXF725OZ.mjs +27 -0
  117. package/dist/lib/node-esm/migrations-UXF725OZ.mjs.map +7 -0
  118. package/dist/lib/node-esm/operation-handler-KC5K4KGW.mjs +18 -0
  119. package/dist/lib/node-esm/operation-handler-KC5K4KGW.mjs.map +7 -0
  120. package/dist/lib/node-esm/operations/index.mjs +14 -0
  121. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  122. package/dist/lib/node-esm/react-context-QBDHUDWD.mjs +28 -0
  123. package/dist/lib/node-esm/react-context-QBDHUDWD.mjs.map +7 -0
  124. package/dist/lib/node-esm/react-surface-P5WSXPAW.mjs +79 -0
  125. package/dist/lib/node-esm/react-surface-P5WSXPAW.mjs.map +7 -0
  126. package/dist/lib/node-esm/recover-identity-DTFXXLZD.mjs +28 -0
  127. package/dist/lib/node-esm/recover-identity-DTFXXLZD.mjs.map +7 -0
  128. package/dist/lib/node-esm/redeem-passkey-BXNNAV2J.mjs +56 -0
  129. package/dist/lib/node-esm/redeem-passkey-BXNNAV2J.mjs.map +7 -0
  130. package/dist/lib/node-esm/redeem-token-XBW7OPDA.mjs +39 -0
  131. package/dist/lib/node-esm/redeem-token-XBW7OPDA.mjs.map +7 -0
  132. package/dist/lib/node-esm/reset-storage-SXIZA4DV.mjs +28 -0
  133. package/dist/lib/node-esm/reset-storage-SXIZA4DV.mjs.map +7 -0
  134. package/dist/lib/node-esm/schema-defs-2UZZD4Q4.mjs +30 -0
  135. package/dist/lib/node-esm/schema-defs-2UZZD4Q4.mjs.map +7 -0
  136. package/dist/lib/node-esm/share-identity-TEHV6CZC.mjs +33 -0
  137. package/dist/lib/node-esm/share-identity-TEHV6CZC.mjs.map +7 -0
  138. package/dist/lib/node-esm/testing/index.mjs +23 -0
  139. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  140. package/dist/lib/node-esm/types/index.mjs +9 -4
  141. package/dist/types/src/ClientPlugin.d.ts +2 -1
  142. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  144. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  146. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/client/client.d.ts +8 -0
  148. package/dist/types/src/capabilities/client/client.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/client/index.d.ts +18 -0
  150. package/dist/types/src/capabilities/client/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/index.d.ts +7 -19
  152. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  153. package/dist/types/src/capabilities/migrations/index.d.ts +3 -0
  154. package/dist/types/src/capabilities/migrations/index.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/migrations/migrations.d.ts +5 -0
  156. package/dist/types/src/capabilities/migrations/migrations.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
  158. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
  160. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
  162. package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
  164. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
  165. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  166. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +9 -0
  168. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  169. package/dist/types/src/capabilities/schema-defs/index.d.ts +3 -0
  170. package/dist/types/src/capabilities/schema-defs/index.d.ts.map +1 -0
  171. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts +5 -0
  172. package/dist/types/src/capabilities/schema-defs/schema-defs.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/config/index.d.ts +5 -0
  174. package/dist/types/src/cli/commands/config/index.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/config/view.d.ts +5 -0
  176. package/dist/types/src/cli/commands/config/view.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/device/index.d.ts +7 -0
  178. package/dist/types/src/cli/commands/device/index.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/device/info/index.d.ts +2 -0
  180. package/dist/types/src/cli/commands/device/info/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/device/info/info.d.ts +7 -0
  182. package/dist/types/src/cli/commands/device/info/info.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/device/info/info.test.d.ts +2 -0
  184. package/dist/types/src/cli/commands/device/info/info.test.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/device/list/index.d.ts +2 -0
  186. package/dist/types/src/cli/commands/device/list/index.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/device/list/list.d.ts +7 -0
  188. package/dist/types/src/cli/commands/device/list/list.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/device/list/list.test.d.ts +2 -0
  190. package/dist/types/src/cli/commands/device/list/list.test.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/device/update/index.d.ts +2 -0
  192. package/dist/types/src/cli/commands/device/update/index.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/device/update/update.d.ts +11 -0
  194. package/dist/types/src/cli/commands/device/update/update.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/device/util.d.ts +16 -0
  196. package/dist/types/src/cli/commands/device/util.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/edge/index.d.ts +5 -0
  198. package/dist/types/src/cli/commands/edge/index.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/edge/status.d.ts +7 -0
  200. package/dist/types/src/cli/commands/edge/status.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/halo/create/create.d.ts +15 -0
  202. package/dist/types/src/cli/commands/halo/create/create.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/halo/create/create.test.d.ts +2 -0
  204. package/dist/types/src/cli/commands/halo/create/create.test.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/halo/create/index.d.ts +2 -0
  206. package/dist/types/src/cli/commands/halo/create/index.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts +13 -0
  208. package/dist/types/src/cli/commands/halo/credential/add/add.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts +2 -0
  210. package/dist/types/src/cli/commands/halo/credential/add/index.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/halo/credential/index.d.ts +12 -0
  212. package/dist/types/src/cli/commands/halo/credential/index.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts +2 -0
  214. package/dist/types/src/cli/commands/halo/credential/list/index.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts +19 -0
  216. package/dist/types/src/cli/commands/halo/credential/list/list.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts +2 -0
  218. package/dist/types/src/cli/commands/halo/credential/list/list.test.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/halo/identity/identity.d.ts +7 -0
  220. package/dist/types/src/cli/commands/halo/identity/identity.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts +2 -0
  222. package/dist/types/src/cli/commands/halo/identity/identity.test.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/halo/identity/index.d.ts +2 -0
  224. package/dist/types/src/cli/commands/halo/identity/index.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/halo/index.d.ts +3 -0
  226. package/dist/types/src/cli/commands/halo/index.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/halo/join/index.d.ts +2 -0
  228. package/dist/types/src/cli/commands/halo/join/index.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/halo/join/join.d.ts +8 -0
  230. package/dist/types/src/cli/commands/halo/join/join.d.ts.map +1 -0
  231. package/dist/types/src/cli/commands/halo/join/join.test.d.ts +2 -0
  232. package/dist/types/src/cli/commands/halo/join/join.test.d.ts.map +1 -0
  233. package/dist/types/src/cli/commands/halo/keys/index.d.ts +2 -0
  234. package/dist/types/src/cli/commands/halo/keys/index.d.ts.map +1 -0
  235. package/dist/types/src/cli/commands/halo/keys/keys.d.ts +7 -0
  236. package/dist/types/src/cli/commands/halo/keys/keys.d.ts.map +1 -0
  237. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts +2 -0
  238. package/dist/types/src/cli/commands/halo/keys/keys.test.d.ts.map +1 -0
  239. package/dist/types/src/cli/commands/halo/recover/index.d.ts +2 -0
  240. package/dist/types/src/cli/commands/halo/recover/index.d.ts.map +1 -0
  241. package/dist/types/src/cli/commands/halo/recover/recover.d.ts +7 -0
  242. package/dist/types/src/cli/commands/halo/recover/recover.d.ts.map +1 -0
  243. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts +2 -0
  244. package/dist/types/src/cli/commands/halo/recover/recover.test.d.ts.map +1 -0
  245. package/dist/types/src/cli/commands/halo/seed/index.d.ts +2 -0
  246. package/dist/types/src/cli/commands/halo/seed/index.d.ts.map +1 -0
  247. package/dist/types/src/cli/commands/halo/seed/seed.d.ts +7 -0
  248. package/dist/types/src/cli/commands/halo/seed/seed.d.ts.map +1 -0
  249. package/dist/types/src/cli/commands/halo/share/index.d.ts +2 -0
  250. package/dist/types/src/cli/commands/halo/share/index.d.ts.map +1 -0
  251. package/dist/types/src/cli/commands/halo/share/share.d.ts +15 -0
  252. package/dist/types/src/cli/commands/halo/share/share.d.ts.map +1 -0
  253. package/dist/types/src/cli/commands/halo/update/index.d.ts +2 -0
  254. package/dist/types/src/cli/commands/halo/update/index.d.ts.map +1 -0
  255. package/dist/types/src/cli/commands/halo/update/update.d.ts +11 -0
  256. package/dist/types/src/cli/commands/halo/update/update.d.ts.map +1 -0
  257. package/dist/types/src/cli/commands/halo/update/update.test.d.ts +2 -0
  258. package/dist/types/src/cli/commands/halo/update/update.test.d.ts.map +1 -0
  259. package/dist/types/src/cli/commands/halo/util.d.ts +13 -0
  260. package/dist/types/src/cli/commands/halo/util.d.ts.map +1 -0
  261. package/dist/types/src/cli/commands/index.d.ts +6 -0
  262. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  263. package/dist/types/src/cli/commands/profile/create.d.ts +10 -0
  264. package/dist/types/src/cli/commands/profile/create.d.ts.map +1 -0
  265. package/dist/types/src/cli/commands/profile/delete.d.ts +8 -0
  266. package/dist/types/src/cli/commands/profile/delete.d.ts.map +1 -0
  267. package/dist/types/src/cli/commands/profile/import.d.ts +17 -0
  268. package/dist/types/src/cli/commands/profile/import.d.ts.map +1 -0
  269. package/dist/types/src/cli/commands/profile/index.d.ts +19 -0
  270. package/dist/types/src/cli/commands/profile/index.d.ts.map +1 -0
  271. package/dist/types/src/cli/commands/profile/inspect.d.ts +13 -0
  272. package/dist/types/src/cli/commands/profile/inspect.d.ts.map +1 -0
  273. package/dist/types/src/cli/commands/profile/list.d.ts +6 -0
  274. package/dist/types/src/cli/commands/profile/list.d.ts.map +1 -0
  275. package/dist/types/src/cli/commands/profile/reset.d.ts +8 -0
  276. package/dist/types/src/cli/commands/profile/reset.d.ts.map +1 -0
  277. package/dist/types/src/cli/commands/profile/util.d.ts +24 -0
  278. package/dist/types/src/cli/commands/profile/util.d.ts.map +1 -0
  279. package/dist/types/src/cli/index.d.ts +2 -0
  280. package/dist/types/src/cli/index.d.ts.map +1 -0
  281. package/dist/types/src/cli/plugin.d.ts +4 -0
  282. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  283. package/dist/types/src/cli/testing/test-console.d.ts +37 -0
  284. package/dist/types/src/cli/testing/test-console.d.ts.map +1 -0
  285. package/dist/types/src/components/index.d.ts +0 -6
  286. package/dist/types/src/components/index.d.ts.map +1 -1
  287. package/dist/types/src/constants.d.ts +4 -0
  288. package/dist/types/src/constants.d.ts.map +1 -0
  289. package/dist/types/src/containers/DevicesContainer/DevicesContainer.d.ts.map +1 -0
  290. package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.stories.d.ts +10 -54
  291. package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts.map +1 -0
  292. package/dist/types/src/containers/DevicesContainer/index.d.ts +3 -0
  293. package/dist/types/src/containers/DevicesContainer/index.d.ts.map +1 -0
  294. package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -1
  295. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  296. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +15 -0
  297. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  298. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  299. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  300. package/dist/types/src/containers/ProfileContainer/ProfileContainer.d.ts.map +1 -0
  301. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts +14 -0
  302. package/dist/types/src/containers/ProfileContainer/ProfileContainer.stories.d.ts.map +1 -0
  303. package/dist/types/src/containers/ProfileContainer/index.d.ts +3 -0
  304. package/dist/types/src/containers/ProfileContainer/index.d.ts.map +1 -0
  305. package/dist/types/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.d.ts +0 -1
  306. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.d.ts.map +1 -0
  307. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts +16 -0
  308. package/dist/types/src/containers/RecoveryCodeDialog/RecoveryCodeDialog.stories.d.ts.map +1 -0
  309. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts +4 -0
  310. package/dist/types/src/containers/RecoveryCodeDialog/index.d.ts.map +1 -0
  311. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.d.ts.map +1 -0
  312. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts +14 -0
  313. package/dist/types/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.d.ts.map +1 -0
  314. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts +3 -0
  315. package/dist/types/src/containers/RecoveryCredentialsContainer/index.d.ts.map +1 -0
  316. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts +9 -0
  317. package/dist/types/src/containers/ResetDialog/ResetDialog.d.ts.map +1 -0
  318. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts +19 -0
  319. package/dist/types/src/containers/ResetDialog/ResetDialog.stories.d.ts.map +1 -0
  320. package/dist/types/src/containers/ResetDialog/index.d.ts +4 -0
  321. package/dist/types/src/containers/ResetDialog/index.d.ts.map +1 -0
  322. package/dist/types/src/containers/index.d.ts +10 -0
  323. package/dist/types/src/containers/index.d.ts.map +1 -0
  324. package/dist/types/src/index.d.ts +1 -2
  325. package/dist/types/src/index.d.ts.map +1 -1
  326. package/dist/types/src/meta.d.ts +2 -2
  327. package/dist/types/src/meta.d.ts.map +1 -1
  328. package/dist/types/src/operations/create-agent.d.ts +5 -0
  329. package/dist/types/src/operations/create-agent.d.ts.map +1 -0
  330. package/dist/types/src/operations/create-identity.d.ts +5 -0
  331. package/dist/types/src/operations/create-identity.d.ts.map +1 -0
  332. package/dist/types/src/operations/create-passkey.d.ts +5 -0
  333. package/dist/types/src/operations/create-passkey.d.ts.map +1 -0
  334. package/dist/types/src/operations/create-recovery-code.d.ts +5 -0
  335. package/dist/types/src/operations/create-recovery-code.d.ts.map +1 -0
  336. package/dist/types/src/operations/definitions.d.ts +36 -0
  337. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  338. package/dist/types/src/operations/index.d.ts +4 -0
  339. package/dist/types/src/operations/index.d.ts.map +1 -0
  340. package/dist/types/src/operations/join-identity.d.ts +5 -0
  341. package/dist/types/src/operations/join-identity.d.ts.map +1 -0
  342. package/dist/types/src/operations/recover-identity.d.ts +5 -0
  343. package/dist/types/src/operations/recover-identity.d.ts.map +1 -0
  344. package/dist/types/src/operations/redeem-passkey.d.ts +5 -0
  345. package/dist/types/src/operations/redeem-passkey.d.ts.map +1 -0
  346. package/dist/types/src/operations/redeem-token.d.ts +5 -0
  347. package/dist/types/src/operations/redeem-token.d.ts.map +1 -0
  348. package/dist/types/src/operations/reset-storage.d.ts +5 -0
  349. package/dist/types/src/operations/reset-storage.d.ts.map +1 -0
  350. package/dist/types/src/operations/share-identity.d.ts +5 -0
  351. package/dist/types/src/operations/share-identity.d.ts.map +1 -0
  352. package/dist/types/src/testing/index.d.ts +2 -0
  353. package/dist/types/src/testing/index.d.ts.map +1 -0
  354. package/dist/types/src/testing/initializeIdentity.d.ts +13 -0
  355. package/dist/types/src/testing/initializeIdentity.d.ts.map +1 -0
  356. package/dist/types/src/translations.d.ts +2 -48
  357. package/dist/types/src/translations.d.ts.map +1 -1
  358. package/dist/types/src/types/capabilities.d.ts +10 -0
  359. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  360. package/dist/types/src/types/events.d.ts +9 -0
  361. package/dist/types/src/types/events.d.ts.map +1 -0
  362. package/dist/types/src/types/index.d.ts +2 -0
  363. package/dist/types/src/types/index.d.ts.map +1 -1
  364. package/dist/types/src/types/schema.d.ts +36 -31
  365. package/dist/types/src/types/schema.d.ts.map +1 -1
  366. package/dist/types/tsconfig.tsbuildinfo +1 -1
  367. package/package.json +74 -38
  368. package/src/ClientPlugin.ts +45 -55
  369. package/src/capabilities/app-graph-builder/app-graph-builder.ts +97 -0
  370. package/src/capabilities/app-graph-builder/index.ts +7 -0
  371. package/src/capabilities/client/client.ts +79 -0
  372. package/src/capabilities/client/index.ts +7 -0
  373. package/src/capabilities/index.ts +7 -11
  374. package/src/capabilities/migrations/index.ts +7 -0
  375. package/src/capabilities/migrations/migrations.ts +30 -0
  376. package/src/capabilities/operation-handler/index.ts +11 -0
  377. package/src/capabilities/operation-handler/operation-handler.ts +16 -0
  378. package/src/capabilities/react-context/index.ts +7 -0
  379. package/src/capabilities/react-context/react-context.tsx +25 -0
  380. package/src/capabilities/react-surface/index.ts +7 -0
  381. package/src/capabilities/react-surface/react-surface.tsx +74 -0
  382. package/src/capabilities/schema-defs/index.ts +7 -0
  383. package/src/capabilities/schema-defs/schema-defs.ts +36 -0
  384. package/src/cli/commands/config/index.ts +12 -0
  385. package/src/cli/commands/config/view.ts +29 -0
  386. package/src/cli/commands/device/index.ts +14 -0
  387. package/src/cli/commands/device/info/index.ts +5 -0
  388. package/src/cli/commands/device/info/info.test.ts +28 -0
  389. package/src/cli/commands/device/info/info.ts +48 -0
  390. package/src/cli/commands/device/list/index.ts +5 -0
  391. package/src/cli/commands/device/list/list.test.ts +30 -0
  392. package/src/cli/commands/device/list/list.ts +28 -0
  393. package/src/cli/commands/device/update/index.ts +5 -0
  394. package/src/cli/commands/device/update/update.ts +68 -0
  395. package/src/cli/commands/device/util.ts +55 -0
  396. package/src/cli/commands/edge/index.ts +12 -0
  397. package/src/cli/commands/edge/status.ts +46 -0
  398. package/src/cli/commands/halo/create/create.test.ts +52 -0
  399. package/src/cli/commands/halo/create/create.ts +82 -0
  400. package/src/cli/commands/halo/create/index.ts +5 -0
  401. package/src/cli/commands/halo/credential/add/add.ts +97 -0
  402. package/src/cli/commands/halo/credential/add/index.ts +5 -0
  403. package/src/cli/commands/halo/credential/index.ts +13 -0
  404. package/src/cli/commands/halo/credential/list/index.ts +5 -0
  405. package/src/cli/commands/halo/credential/list/list.test.ts +27 -0
  406. package/src/cli/commands/halo/credential/list/list.ts +115 -0
  407. package/src/cli/commands/halo/identity/identity.test.ts +40 -0
  408. package/src/cli/commands/halo/identity/identity.ts +45 -0
  409. package/src/cli/commands/halo/identity/index.ts +5 -0
  410. package/src/cli/commands/halo/index.ts +21 -0
  411. package/src/cli/commands/halo/join/index.ts +5 -0
  412. package/src/cli/commands/halo/join/join.test.ts +10 -0
  413. package/src/cli/commands/halo/join/join.ts +87 -0
  414. package/src/cli/commands/halo/keys/index.ts +5 -0
  415. package/src/cli/commands/halo/keys/keys.test.ts +29 -0
  416. package/src/cli/commands/halo/keys/keys.ts +40 -0
  417. package/src/cli/commands/halo/recover/index.ts +5 -0
  418. package/src/cli/commands/halo/recover/recover.test.ts +10 -0
  419. package/src/cli/commands/halo/recover/recover.ts +44 -0
  420. package/src/cli/commands/halo/seed/index.ts +5 -0
  421. package/src/cli/commands/halo/seed/seed.ts +36 -0
  422. package/src/cli/commands/halo/share/index.ts +5 -0
  423. package/src/cli/commands/halo/share/share.ts +97 -0
  424. package/src/cli/commands/halo/update/index.ts +5 -0
  425. package/src/cli/commands/halo/update/update.test.ts +28 -0
  426. package/src/cli/commands/halo/update/update.ts +67 -0
  427. package/src/cli/commands/halo/util.ts +18 -0
  428. package/src/cli/commands/index.ts +9 -0
  429. package/src/cli/commands/profile/create.ts +90 -0
  430. package/src/cli/commands/profile/delete.ts +36 -0
  431. package/src/cli/commands/profile/import.ts +101 -0
  432. package/src/cli/commands/profile/index.ts +17 -0
  433. package/src/cli/commands/profile/inspect.ts +64 -0
  434. package/src/cli/commands/profile/list.ts +55 -0
  435. package/src/cli/commands/profile/reset.ts +45 -0
  436. package/src/cli/commands/profile/util.ts +48 -0
  437. package/src/cli/index.ts +5 -0
  438. package/src/cli/plugin.ts +34 -0
  439. package/src/cli/testing/test-console.ts +88 -0
  440. package/src/components/index.ts +0 -7
  441. package/src/constants.ts +9 -0
  442. package/src/{components → containers/DevicesContainer}/DevicesContainer.stories.tsx +15 -10
  443. package/src/{components → containers/DevicesContainer}/DevicesContainer.tsx +60 -66
  444. package/src/containers/DevicesContainer/index.ts +7 -0
  445. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  446. package/src/containers/JoinDialog/JoinDialog.tsx +56 -0
  447. package/src/containers/JoinDialog/index.ts +7 -0
  448. package/src/{components → containers/ProfileContainer}/ProfileContainer.stories.tsx +4 -4
  449. package/src/{components → containers/ProfileContainer}/ProfileContainer.tsx +65 -54
  450. package/src/containers/ProfileContainer/index.ts +7 -0
  451. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.stories.tsx +4 -4
  452. package/src/{components → containers/RecoveryCodeDialog}/RecoveryCodeDialog.tsx +28 -27
  453. package/src/containers/RecoveryCodeDialog/index.ts +8 -0
  454. package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.stories.tsx +47 -0
  455. package/src/{components → containers/RecoveryCredentialsContainer}/RecoveryCredentialsContainer.tsx +22 -23
  456. package/src/containers/RecoveryCredentialsContainer/index.ts +7 -0
  457. package/src/containers/ResetDialog/ResetDialog.stories.tsx +73 -0
  458. package/src/containers/ResetDialog/ResetDialog.tsx +50 -0
  459. package/src/containers/ResetDialog/index.ts +8 -0
  460. package/src/containers/index.ts +15 -0
  461. package/src/index.ts +1 -2
  462. package/src/meta.ts +3 -3
  463. package/src/operations/create-agent.ts +27 -0
  464. package/src/operations/create-identity.ts +30 -0
  465. package/src/operations/create-passkey.ts +64 -0
  466. package/src/operations/create-recovery-code.ts +35 -0
  467. package/src/operations/definitions.ts +107 -0
  468. package/src/operations/index.ts +20 -0
  469. package/src/operations/join-identity.ts +29 -0
  470. package/src/operations/recover-identity.ts +29 -0
  471. package/src/operations/redeem-passkey.ts +55 -0
  472. package/src/operations/redeem-token.ts +32 -0
  473. package/src/operations/reset-storage.ts +28 -0
  474. package/src/operations/share-identity.ts +27 -0
  475. package/src/testing/index.ts +5 -0
  476. package/src/testing/initializeIdentity.ts +24 -0
  477. package/src/translations.ts +6 -3
  478. package/src/types/capabilities.ts +16 -0
  479. package/src/types/events.ts +15 -0
  480. package/src/types/index.ts +2 -0
  481. package/src/types/schema.ts +27 -19
  482. package/dist/lib/browser/app-graph-builder-ARY4H3VC.mjs +0 -124
  483. package/dist/lib/browser/app-graph-builder-ARY4H3VC.mjs.map +0 -7
  484. package/dist/lib/browser/chunk-4G4YWIUQ.mjs +0 -686
  485. package/dist/lib/browser/chunk-4G4YWIUQ.mjs.map +0 -7
  486. package/dist/lib/browser/chunk-4LRO3Y2O.mjs +0 -19
  487. package/dist/lib/browser/chunk-4LRO3Y2O.mjs.map +0 -7
  488. package/dist/lib/browser/chunk-N5UR2HOE.mjs +0 -18
  489. package/dist/lib/browser/chunk-N5UR2HOE.mjs.map +0 -7
  490. package/dist/lib/browser/chunk-RDIG75CA.mjs.map +0 -7
  491. package/dist/lib/browser/chunk-ZRVMXLDR.mjs.map +0 -7
  492. package/dist/lib/browser/client-O7U3MQ6J.mjs +0 -43
  493. package/dist/lib/browser/client-O7U3MQ6J.mjs.map +0 -7
  494. package/dist/lib/browser/intent-resolver-KLK7PJZK.mjs +0 -305
  495. package/dist/lib/browser/intent-resolver-KLK7PJZK.mjs.map +0 -7
  496. package/dist/lib/browser/migrations-RUAKBBTF.mjs +0 -23
  497. package/dist/lib/browser/migrations-RUAKBBTF.mjs.map +0 -7
  498. package/dist/lib/browser/react-context-PCT5C3BN.mjs +0 -25
  499. package/dist/lib/browser/react-context-PCT5C3BN.mjs.map +0 -7
  500. package/dist/lib/browser/react-surface-RCXEA65V.mjs +0 -66
  501. package/dist/lib/browser/react-surface-RCXEA65V.mjs.map +0 -7
  502. package/dist/lib/browser/schema-defs-UNNBAEFW.mjs +0 -25
  503. package/dist/lib/browser/schema-defs-UNNBAEFW.mjs.map +0 -7
  504. package/dist/lib/node-esm/app-graph-builder-LLM25DRR.mjs +0 -125
  505. package/dist/lib/node-esm/app-graph-builder-LLM25DRR.mjs.map +0 -7
  506. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs +0 -19
  507. package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs.map +0 -7
  508. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs +0 -20
  509. package/dist/lib/node-esm/chunk-7M7VWQJW.mjs.map +0 -7
  510. package/dist/lib/node-esm/chunk-DJ6XKSE4.mjs +0 -687
  511. package/dist/lib/node-esm/chunk-DJ6XKSE4.mjs.map +0 -7
  512. package/dist/lib/node-esm/chunk-QT3EQXDU.mjs.map +0 -7
  513. package/dist/lib/node-esm/chunk-VENKFPBC.mjs.map +0 -7
  514. package/dist/lib/node-esm/client-6MTNT7M6.mjs +0 -44
  515. package/dist/lib/node-esm/client-6MTNT7M6.mjs.map +0 -7
  516. package/dist/lib/node-esm/intent-resolver-YR2C224X.mjs +0 -306
  517. package/dist/lib/node-esm/intent-resolver-YR2C224X.mjs.map +0 -7
  518. package/dist/lib/node-esm/migrations-ASF2SAUR.mjs +0 -24
  519. package/dist/lib/node-esm/migrations-ASF2SAUR.mjs.map +0 -7
  520. package/dist/lib/node-esm/react-context-F4QOBWSP.mjs +0 -26
  521. package/dist/lib/node-esm/react-context-F4QOBWSP.mjs.map +0 -7
  522. package/dist/lib/node-esm/react-surface-SQBRXVMZ.mjs +0 -67
  523. package/dist/lib/node-esm/react-surface-SQBRXVMZ.mjs.map +0 -7
  524. package/dist/lib/node-esm/schema-defs-MSIT2KK2.mjs +0 -26
  525. package/dist/lib/node-esm/schema-defs-MSIT2KK2.mjs.map +0 -7
  526. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  527. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  528. package/dist/types/src/capabilities/capabilities.d.ts +0 -9
  529. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  530. package/dist/types/src/capabilities/client.d.ts +0 -9
  531. package/dist/types/src/capabilities/client.d.ts.map +0 -1
  532. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -8
  533. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  534. package/dist/types/src/capabilities/migrations.d.ts +0 -4
  535. package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
  536. package/dist/types/src/capabilities/react-context.d.ts +0 -8
  537. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  538. package/dist/types/src/capabilities/react-surface.d.ts +0 -8
  539. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  540. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  541. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  542. package/dist/types/src/components/DevicesContainer.d.ts.map +0 -1
  543. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +0 -1
  544. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  545. package/dist/types/src/components/ProfileContainer.d.ts.map +0 -1
  546. package/dist/types/src/components/ProfileContainer.stories.d.ts +0 -60
  547. package/dist/types/src/components/ProfileContainer.stories.d.ts.map +0 -1
  548. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +0 -1
  549. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +0 -62
  550. package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +0 -1
  551. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +0 -1
  552. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +0 -60
  553. package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +0 -1
  554. package/dist/types/src/components/ResetDialog.d.ts +0 -7
  555. package/dist/types/src/components/ResetDialog.d.ts.map +0 -1
  556. package/dist/types/src/components/ResetDialog.stories.d.ts +0 -65
  557. package/dist/types/src/components/ResetDialog.stories.d.ts.map +0 -1
  558. package/dist/types/src/events.d.ts +0 -8
  559. package/dist/types/src/events.d.ts.map +0 -1
  560. package/src/capabilities/app-graph-builder.ts +0 -115
  561. package/src/capabilities/capabilities.ts +0 -18
  562. package/src/capabilities/client.ts +0 -43
  563. package/src/capabilities/intent-resolver.ts +0 -251
  564. package/src/capabilities/migrations.ts +0 -25
  565. package/src/capabilities/react-context.tsx +0 -22
  566. package/src/capabilities/react-surface.tsx +0 -67
  567. package/src/capabilities/schema-defs.ts +0 -29
  568. package/src/components/JoinDialog.tsx +0 -54
  569. package/src/components/RecoveryCredentialsContainer.stories.tsx +0 -42
  570. package/src/components/ResetDialog.stories.tsx +0 -52
  571. package/src/components/ResetDialog.tsx +0 -50
  572. package/src/events.ts +0 -15
  573. /package/dist/types/src/{components → containers/DevicesContainer}/DevicesContainer.d.ts +0 -0
  574. /package/dist/types/src/{components → containers/ProfileContainer}/ProfileContainer.d.ts +0 -0
  575. /package/dist/types/src/{components → containers/RecoveryCredentialsContainer}/RecoveryCredentialsContainer.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/plugin.ts", "../../../../src/cli/commands/config/index.ts", "../../../../src/cli/commands/config/view.ts", "../../../../src/cli/commands/device/index.ts", "../../../../src/cli/commands/device/info/info.ts", "../../../../src/cli/commands/device/util.ts", "../../../../src/cli/commands/device/list/list.ts", "../../../../src/cli/commands/device/update/update.ts", "../../../../src/cli/commands/edge/index.ts", "../../../../src/cli/commands/edge/status.ts", "../../../../src/cli/commands/halo/index.ts", "../../../../src/cli/commands/halo/create/create.ts", "../../../../src/cli/commands/halo/util.ts", "../../../../src/cli/commands/halo/credential/index.ts", "../../../../src/cli/commands/halo/credential/add/add.ts", "../../../../src/cli/commands/halo/credential/list/list.ts", "../../../../src/cli/commands/halo/identity/identity.ts", "../../../../src/cli/commands/halo/keys/keys.ts", "../../../../src/cli/commands/halo/recover/recover.ts", "../../../../src/cli/commands/halo/seed/seed.ts", "../../../../src/cli/commands/halo/update/update.ts", "../../../../src/cli/commands/profile/index.ts", "../../../../src/cli/commands/profile/create.ts", "../../../../src/cli/commands/profile/util.ts", "../../../../src/cli/commands/profile/delete.ts", "../../../../src/cli/commands/profile/import.ts", "../../../../src/cli/commands/profile/inspect.ts", "../../../../src/cli/commands/profile/list.ts", "../../../../src/cli/commands/profile/reset.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\n\n// NOTE: Must not import from index to avoid pulling in react dependencies.\nimport { Client } from '../capabilities/client';\nimport { OperationHandler } from '../capabilities/operation-handler';\nimport { SchemaDefs } from '../capabilities/schema-defs';\nimport { meta } from '../meta';\nimport { ClientEvents } from '../types';\nimport { type ClientPluginOptions } from '../types';\n\nimport { config, device, edge, halo, profile } from './commands';\n\nexport const ClientPlugin = Plugin.define<ClientPluginOptions>(meta).pipe(\n // TODO(wittjosiah): Could some of these commands make use of operations?\n AppPlugin.addCommandModule({ commands: [config, device, edge, halo, profile] }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n Plugin.addModule((options) => ({\n id: Capability.getModuleTag(Client),\n activatesOn: ActivationEvents.Startup,\n activatesAfter: [ClientEvents.ClientReady],\n activate: () => Client(options),\n })),\n Plugin.addModule({\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [AppActivationEvents.SetupSchema],\n activate: SchemaDefs,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { view } from './view';\n\nexport const config = Command.make('config').pipe(\n Command.withDescription('Config commands.'),\n Command.withSubcommands([view]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Yaml from 'yaml';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { ConfigService } from '@dxos/client';\nimport { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';\n\nexport const view = Command.make(\n 'view',\n {},\n Effect.fnUntraced(function* () {\n const config = yield* ConfigService;\n const { json, profile } = yield* CommandConfig;\n const configPath = getProfileConfigPath(DX_CONFIG, profile);\n\n if (json) {\n yield* Console.log(JSON.stringify(config.values, null, 2));\n } else {\n yield* Console.log(`Path: ${configPath}`);\n yield* Console.log(Yaml.stringify(config.values));\n }\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { info } from './info';\nimport { list } from './list';\nimport { update } from './update';\n\nexport const device = Command.make('device').pipe(\n Command.withDescription('Manage HALO devices.'),\n Command.withSubcommands([info, list, update]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { DeviceType } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nimport { printDevice } from '../util';\n\nexport const handler = Effect.fn(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const device = client.halo.device;\n if (!device) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'No device found' }, null, 2));\n } else {\n yield* Console.log('No device found.');\n }\n return;\n }\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n deviceKey: device.deviceKey.toHex(),\n profile: {\n ...device.profile,\n type: device.profile?.type ? DeviceType[device.profile?.type] : 'UNKNOWN',\n },\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log(print(printDevice(device)));\n }\n});\n\nexport const info = Command.make('info', {}, handler).pipe(Command.withDescription('Show device info.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\nimport { Device, DeviceKind, DeviceType } from '@dxos/client/halo';\n\nconst maybeTruncateKey = (key: { toHex(): string; truncate(): string }, truncate = false) =>\n truncate ? key.truncate() : key.toHex();\n\nconst getDeviceTitle = (device: Device): string => {\n if (device.profile?.label) {\n return device.profile.label;\n }\n const platform = device.profile?.platform ?? 'Unknown';\n const os = device.profile?.os ?? 'Unknown';\n return `${platform} on ${os}`;\n};\n\nexport const mapDevices = (devices: Device[], truncateKeys = false) => {\n return devices.map((device) => ({\n label: device.profile?.label,\n type: device.profile?.type ? DeviceType[device.profile?.type] : 'UNKNOWN',\n key: maybeTruncateKey(device.deviceKey, truncateKeys),\n kind: DeviceKind[device.kind],\n platform: device.profile?.platform,\n platformVersion: device.profile?.platformVersion,\n architecture: device.profile?.architecture,\n os: device.profile?.os,\n osVersion: device.profile?.osVersion,\n presence: device?.kind === DeviceKind.CURRENT ? 'THIS DEVICE' : Device.PresenceState[device.presence],\n }));\n};\n\nexport const printDevice = (device: Device) =>\n FormBuilder.make({ title: getDeviceTitle(device) }).pipe(\n FormBuilder.set('deviceKey', device.deviceKey.truncate()),\n FormBuilder.set('label', device.profile?.label ?? '<none>'),\n FormBuilder.set('type', device.profile?.type ? DeviceType[device.profile?.type] : 'UNKNOWN'),\n FormBuilder.set('kind', DeviceKind[device.kind]),\n FormBuilder.set(\n 'presence',\n device?.kind === DeviceKind.CURRENT ? 'THIS DEVICE' : Device.PresenceState[device.presence],\n ),\n FormBuilder.set('platform', device.profile?.platform ?? '<none>'),\n FormBuilder.set('platformVersion', device.profile?.platformVersion ?? '<none>'),\n FormBuilder.set('architecture', device.profile?.architecture ?? '<none>'),\n FormBuilder.set('os', device.profile?.os ?? '<none>'),\n FormBuilder.set('osVersion', device.profile?.osVersion ?? '<none>'),\n FormBuilder.build,\n );\n\nexport const printDevices = (devices: Device[]) => {\n return devices.map(printDevice);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { mapDevices, printDevices } from '../util';\n\nexport const handler = Effect.fn(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const devices = client.halo.devices.get();\n\n if (json) {\n yield* Console.log(JSON.stringify(mapDevices(devices), null, 2));\n } else {\n const formatted = printDevices(devices);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make('list', {}, handler).pipe(Command.withDescription('List devices.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { printDevice } from '../util';\n\nexport const handler = Effect.fn(function* ({ label }: { label: string }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const device = client.halo.device;\n if (!device) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'No device found' }, null, 2));\n } else {\n yield* Console.log('No device found.');\n }\n return;\n }\n\n const updatedProfile = {\n ...device.profile,\n label,\n };\n\n const devicesService = client.services.services.DevicesService;\n if (!devicesService) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'DevicesService not found' }, null, 2));\n } else {\n yield* Console.log('DevicesService not found.');\n }\n return;\n }\n\n const updatedDevice = yield* Effect.tryPromise(() => devicesService.updateDevice(updatedProfile));\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n deviceKey: updatedDevice.deviceKey.toHex(),\n profile: updatedDevice.profile,\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log(print(printDevice(updatedDevice)));\n }\n});\n\nexport const update = Command.make(\n 'update',\n {\n label: Options.text('label').pipe(Options.withDescription('The device label.')),\n },\n handler,\n).pipe(Command.withDescription('Update device label.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { status } from './status';\n\nexport const edge = Command.make('edge').pipe(\n Command.withDescription('EDGE commands.'),\n Command.withSubcommands([status]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { createEdgeIdentity } from '@dxos/client/edge';\nimport { Context } from '@dxos/context';\n\nexport const getStatus = () =>\n Effect.gen(function* () {\n const client = yield* ClientService;\n const identity = createEdgeIdentity(client);\n client.edge.http.setIdentity(identity);\n const status = yield* Effect.tryPromise(() => client.edge.http.getStatus(Context.default()));\n\n if (yield* CommandConfig.isJson) {\n yield* Console.log(JSON.stringify(status, null, 2));\n } else if (status.problems.length > 0) {\n for (const problem of status.problems) {\n yield* Console.error(problem);\n }\n } else {\n yield* Console.log('No problems found.');\n }\n }).pipe(\n // TODO(wittjosiah): Tagged error.\n Effect.catchSome((error) => {\n if (error instanceof Error && error.message === 'Identity not available') {\n // TODO(wittjosiah): Error coloring for logs.\n return Option.some(Console.error(error.message));\n } else {\n return Option.none();\n }\n }),\n );\n\n// TODO(wittjosiah): Admin functionality to provide to specify an identity.\nexport const status = Command.make('status', {}, getStatus).pipe(\n Command.withDescription('Get the EDGE status for the current identity.'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { create } from './create';\nimport { credential } from './credential';\nimport { identity } from './identity';\n// TODO(wittjosiah): Omitted currently due to p2p networking not working in bun.\n// import { join } from './join';\nimport { keys } from './keys';\nimport { recover } from './recover';\nimport { seed } from './seed';\n// import { share } from './share';\nimport { update } from './update';\n\nexport const halo: Command.Command<any, any, any, any> = Command.make('halo').pipe(\n Command.withDescription('Manage HALO identity.'),\n Command.withSubcommands([create, credential, identity, keys, recover, seed, update]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Capabilities, Plugin } from '@dxos/app-framework';\nimport { CommandConfig, flushAndSync, spaceLayer } from '@dxos/cli-util';\nimport { print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { MembershipPolicy } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nimport { ClientOperation } from '../../../../operations';\nimport { printIdentity } from '../util';\n\nexport const handler = Effect.fn(function* ({\n agent,\n displayName,\n}: {\n agent: boolean;\n displayName: Option.Option<string>;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n // TODO(wittjosiah): How to surface this error to the user cleanly?\n invariant(!client.halo.identity.get(), 'Identity already exists');\n\n const manager = yield* Plugin.Service;\n const { invoke } = manager.capabilities.get(Capabilities.OperationInvoker);\n const identity = yield* invoke(ClientOperation.CreateIdentity, {\n displayName: Option.getOrUndefined(displayName),\n });\n\n if (agent) {\n yield* invoke(ClientOperation.CreateAgent);\n }\n\n // Create personal space for the CLI identity.\n const { PERSONAL_SPACE_TAG, setPersonalSpace } = yield* Effect.tryPromise(() => import('@dxos/app-toolkit'));\n const space = yield* Effect.promise(() =>\n client.spaces.create({}, { tags: [PERSONAL_SPACE_TAG], membershipPolicy: MembershipPolicy.LOCKED }),\n );\n yield* Effect.promise(() => space.waitUntilReady());\n yield* Effect.promise(() => space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED));\n setPersonalSpace(space);\n yield* flushAndSync({ indexes: true }).pipe(Effect.provide(spaceLayer(Option.some(space.id))));\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n identityKey: identity.identityKey.toHex(),\n displayName: identity.profile?.displayName,\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log(print(printIdentity(identity)));\n }\n});\n\nexport const create = Command.make(\n 'create',\n {\n agent: Options.boolean('noAgent', { ifPresent: false }).pipe(\n Options.withDescription('Do not create an EDGE agent for the identity.'),\n ),\n displayName: Options.text('displayName').pipe(\n Options.withDescription('The display name of the identity.'),\n Options.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('Create a new identity.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\n\n/**\n * Pretty prints an identity with ANSI colors.\n */\nexport const printIdentity = (identity: {\n identityKey: { toHex(): string; truncate(): string };\n profile?: { displayName?: string };\n}) =>\n FormBuilder.make({ title: 'Identity' }).pipe(\n FormBuilder.set('identityKey', identity.identityKey.truncate()),\n FormBuilder.set('displayName', identity.profile?.displayName ?? '<none>'),\n FormBuilder.build,\n );\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { add } from './add';\nimport { list } from './list';\n\nexport const credential = Command.make('credential').pipe(\n Command.withDescription('Manage HALO credentials.'),\n Command.withSubcommands([add, list]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Args from '@effect/cli/Args';\nimport * as Command from '@effect/cli/Command';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\nimport { schema } from '@dxos/protocols/proto';\n\nexport const handler = Effect.fn(function* ({ credential }: { credential: Option.Option<string> }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n\n let credentialHex = Option.getOrUndefined(credential);\n if (!credentialHex) {\n credentialHex = yield* Prompt.text({ message: 'Enter credential (hex string)' }).pipe(Prompt.run);\n }\n\n invariant(credentialHex, 'Invalid credential.');\n\n const identity = client.halo.identity;\n if (!identity) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Profile not initialized' }, null, 2));\n } else {\n yield* Console.log('Profile not initialized.');\n }\n return;\n }\n\n yield* Effect.gen(function* () {\n const codec = schema.getCodecForType('dxos.halo.credentials.Credential');\n const credentialBytes = yield* Effect.try({\n try: () => Buffer.from(credentialHex, 'hex'),\n catch: (error) => new Error(`Failed to parse hex string: ${error}`),\n });\n\n const verifyError = codec.protoType.verify(credentialBytes);\n if (verifyError) {\n yield* Effect.fail(new Error(verifyError));\n }\n\n const credentialObj = yield* Effect.try({\n try: () => codec.decode(credentialBytes),\n catch: (error) => new Error(`Failed to decode credential: ${error}`),\n });\n\n yield* Effect.tryPromise({\n try: () => client.halo.writeCredentials([credentialObj]),\n catch: (error) => new Error(`Failed to write credential: ${error}`),\n });\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true }, null, 2));\n } else {\n yield* Console.log('Credential added successfully.');\n }\n }).pipe(\n Effect.catchAll((error) =>\n Effect.gen(function* () {\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n error: 'Invalid credential',\n message: error instanceof Error ? error.message : String(error),\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log('Invalid credential.');\n }\n yield* Effect.fail(error);\n }),\n ),\n );\n});\n\nexport const add = Command.make(\n 'add',\n {\n credential: Args.text({ name: 'credential' }).pipe(\n Args.withDescription('Credential as hex string.'),\n Args.optional,\n ),\n },\n handler,\n).pipe(Command.withDescription('Import credential into HALO.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Duration from 'effect/Duration';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, Common, FormBuilder, getSpace, printList } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport type { Credential } from '@dxos/client/halo';\nimport { type Key } from '@dxos/echo';\n\nconst mapCredentials = (credentials: Credential[]) => {\n return credentials.map((credential) => ({\n id: credential.id?.toHex() ?? '<unknown>',\n issuer: credential.issuer?.toHex() ?? '<unknown>',\n subject: credential.subject?.id?.toHex() ?? '<unknown>',\n type: credential.subject.assertion['@type'],\n assertion: credential.subject.assertion,\n }));\n};\n\nconst printCredential = (credential: Credential) => {\n const type = credential.subject.assertion['@type'] ?? '<unknown>';\n return FormBuilder.make({ title: type }).pipe(\n FormBuilder.option('id', Option.fromNullable(credential.id?.truncate())),\n FormBuilder.option('issuer', Option.fromNullable(credential.issuer?.truncate())),\n FormBuilder.option('subject', Option.fromNullable(credential.subject?.id?.truncate())),\n FormBuilder.build,\n );\n};\n\nexport const handler = Effect.fn(function* ({\n type,\n spaceId,\n timeout,\n delay,\n}: {\n type: Option.Option<string>;\n spaceId: Option.Option<Key.SpaceId>;\n timeout: number;\n delay: number;\n}) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n let credentials: Credential[];\n\n if (Option.isSome(spaceId)) {\n // If space ID was provided, get credentials from that space.\n const space = yield* getSpace(spaceId.value);\n credentials = yield* Effect.tryPromise(() => space.internal.getCredentials());\n } else {\n // Get credentials from HALO\n const identity = client.halo.identity;\n if (!identity) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Profile not initialized' }, null, 2));\n } else {\n yield* Console.log('Profile not initialized.');\n }\n return;\n }\n\n // Wait for at least one credential\n const latch = yield* Effect.makeLatch();\n const subscription = client.halo.credentials.subscribe((creds) => {\n if (creds.length > 0) {\n Effect.runSync(latch.open);\n }\n });\n\n yield* latch.await.pipe(\n Effect.timeout(Duration.millis(timeout)),\n Effect.catchAll(() => Effect.void),\n Effect.ensuring(\n Effect.sync(() => {\n subscription.unsubscribe();\n }),\n ),\n );\n\n // Wait a bit more to ensure all credentials are loaded\n yield* Effect.sleep(Duration.millis(delay));\n\n credentials = client.halo.queryCredentials({ type: Option.getOrUndefined(type) });\n }\n\n if (json) {\n yield* Console.log(JSON.stringify(mapCredentials(credentials), null, 2));\n } else {\n const formatted = credentials.map(printCredential);\n yield* Console.log(printList(formatted));\n }\n});\n\nexport const list = Command.make(\n 'list',\n {\n type: Options.text('type').pipe(Options.withDescription('Filter by credential type.'), Options.optional),\n spaceId: Common.spaceId.pipe(Options.withDescription('Space ID to show credentials from.'), Options.optional),\n timeout: Options.integer('timeout').pipe(\n Options.withDescription('Time in milliseconds to wait for at least one credential before listing.'),\n Options.withDefault(500),\n ),\n delay: Options.integer('delay').pipe(\n Options.withDescription('Delay in milliseconds before listing.'),\n Options.withDefault(250),\n ),\n },\n handler,\n).pipe(Command.withDescription('List HALO credentials.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { printIdentity } from '../util';\n\nexport const handler = Effect.fn(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const identity = client.halo.identity.get();\n if (!identity) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Identity not initialized' }, null, 2));\n } else {\n yield* Console.log('Identity not initialized.');\n }\n } else {\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n identityKey: identity.identityKey.toHex(),\n displayName: identity.profile?.displayName,\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log(print(printIdentity(identity)));\n }\n }\n});\n\nexport const identity = Command.make('identity', {}, handler).pipe(\n Command.withDescription('Get the current identity.'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { FormBuilder, print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nexport const handler = Effect.fn(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const identity = client.halo.identity.get();\n const device = client.halo.device;\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n identityKey: identity?.identityKey.toHex(),\n deviceKey: device?.deviceKey.toHex(),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'HALO Keys' }).pipe(\n FormBuilder.option('identityKey', Option.fromNullable(identity?.identityKey.truncate())),\n FormBuilder.option('deviceKey', Option.fromNullable(device?.deviceKey.truncate())),\n );\n yield* Console.log(print(FormBuilder.build(builder)));\n }\n});\n\nexport const keys = Command.make('keys', {}, handler).pipe(Command.withDescription('Show HALO keys.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Args from '@effect/cli/Args';\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\n\nimport { printIdentity } from '../util';\n\nexport const recover = Command.make(\n 'recover',\n {\n recoveryCode: Args.text({ name: 'recoveryCode' }).pipe(Args.withDescription('The recovery code seed phrase.')),\n },\n Effect.fn(function* ({ recoveryCode }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n // TODO(wittjosiah): How to surface this error to the user cleanly?\n invariant(!client.halo.identity.get(), 'Identity already exists');\n\n const identity = yield* Effect.tryPromise(() => client.halo.recoverIdentity({ recoveryCode }));\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n identityKey: identity.identityKey.toHex(),\n displayName: identity.profile?.displayName,\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log('Identity recovered successfully');\n yield* Console.log(print(printIdentity(identity)));\n }\n }),\n).pipe(Command.withDescription('Recover an existing identity using a recovery code.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nexport const handler = Effect.fn(function* () {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const identityService = client.services.services.IdentityService;\n if (!identityService) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'IdentityService not found' }, null, 2));\n } else {\n yield* Console.log('IdentityService not found.');\n }\n return;\n }\n\n const result = yield* Effect.tryPromise(() => identityService.createRecoveryCredential({}));\n\n if (json) {\n yield* Console.log(JSON.stringify({ recoveryCode: result.recoveryCode }, null, 2));\n } else {\n yield* Console.log(result.recoveryCode);\n }\n});\n\nexport const seed = Command.make('seed', {}, handler).pipe(\n Command.withDescription('Generate a seedphrase that can be used for identity recovery.'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { print } from '@dxos/cli-util';\nimport { ClientService } from '@dxos/client';\n\nimport { printIdentity } from '../util';\n\nexport const handler = Effect.fn(function* ({ displayName }: { displayName: string }) {\n const { json } = yield* CommandConfig;\n const client = yield* ClientService;\n const identity = client.halo.identity.get();\n if (!identity) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Identity not initialized' }, null, 2));\n } else {\n yield* Console.log('Identity not initialized.');\n }\n return;\n }\n\n const identityService = client.services.services.IdentityService;\n if (!identityService) {\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'IdentityService not found' }, null, 2));\n } else {\n yield* Console.log('IdentityService not found.');\n }\n return;\n }\n\n const updatedIdentity = yield* Effect.tryPromise(() =>\n identityService.updateProfile({\n displayName,\n }),\n );\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n identityKey: updatedIdentity.identityKey.toHex(),\n displayName: updatedIdentity.profile?.displayName,\n },\n null,\n 2,\n ),\n );\n } else {\n yield* Console.log(print(printIdentity(updatedIdentity)));\n }\n});\n\nexport const update = Command.make(\n 'update',\n {\n displayName: Options.text('displayName').pipe(Options.withDescription('The display name of the identity.')),\n },\n handler,\n).pipe(Command.withDescription('Update identity profile.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\n\nimport { create } from './create';\nimport { del } from './delete';\nimport { importCommand } from './import';\nimport { inspect } from './inspect';\nimport { list } from './list';\nimport { reset } from './reset';\n\nexport const profile = Command.make('profile').pipe(\n Command.withDescription('Profile commands.'),\n Command.withSubcommands([create, del, importCommand, inspect, list, reset]),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Path from '@effect/platform/Path';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport * as Record from 'effect/Record';\n\nimport { CommandConfig, print } from '@dxos/cli-util';\nimport { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';\nimport { trim } from '@dxos/util';\n\nimport { printProfileCreated } from './util';\n\nconst TEMPLATES = {\n default: trim`\n version: 1\n runtime:\n client:\n storage:\n persistent: true\n services:\n edge:\n url: https://edge-production.dxos.workers.dev\n `,\n main: trim`\n version: 1\n runtime:\n client:\n storage:\n persistent: true\n services:\n edge:\n url: https://edge-main.dxos.workers.dev\n `,\n dev: trim`\n version: 1\n runtime:\n client:\n storage:\n persistent: true\n services:\n edge:\n url: https://edge.dxos.workers.dev\n `,\n local: trim`\n version: 1\n runtime:\n client:\n storage:\n persistent: true\n services:\n edge:\n url: http://localhost:8787\n `,\n} as const;\n\nexport const create = Command.make(\n 'create',\n {\n template: Options.choice('template', Record.keys(TEMPLATES)).pipe(\n Options.withDescription('Template to use'),\n Options.withDefault('default'),\n ),\n name: Options.text('name').pipe(Options.withDescription('Profile name'), Options.optional),\n },\n Effect.fnUntraced(function* ({ template, name }) {\n const { json } = yield* CommandConfig;\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const profileName = name.pipe(Option.getOrElse(() => template));\n const configPath = getProfileConfigPath(DX_CONFIG, profileName);\n if (yield* fs.exists(configPath)) {\n throw new Error(`Profile ${profileName} already exists`);\n }\n\n yield* fs.makeDirectory(path.dirname(configPath), { recursive: true });\n yield* fs.writeFileString(configPath, TEMPLATES[template]);\n if (json) {\n yield* Console.log(JSON.stringify({ name: profileName, path: configPath }, null, 2));\n } else {\n yield* Console.log(print(printProfileCreated(profileName, configPath)));\n }\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { FormBuilder } from '@dxos/cli-util';\n\nexport type ProfileInfo = {\n name: string;\n isCurrent: boolean;\n fullPath: string;\n storagePath: string;\n edge?: string;\n};\n\n/**\n * Pretty prints profile creation result with ANSI colors.\n */\nexport const printProfileCreated = (name: string, path: string) =>\n FormBuilder.make({ title: 'Profile created' }).pipe(\n FormBuilder.set('name', name),\n FormBuilder.set('path', path),\n FormBuilder.build,\n );\n\n/**\n * Pretty prints profile deletion result with ANSI colors.\n */\nexport const printProfileDeleted = (name: string) =>\n FormBuilder.make({ title: 'Profile deleted' }).pipe(FormBuilder.set('name', name), FormBuilder.build);\n\n/**\n * Pretty prints profile reset result with ANSI colors.\n */\nexport const printProfileReset = (profile: string) =>\n FormBuilder.make({ title: 'Profile reset' }).pipe(FormBuilder.set('profile', profile), FormBuilder.build);\n\n/**\n * Pretty prints a profile with ANSI colors.\n */\nexport const printProfile = (profile: ProfileInfo) => {\n const title = profile.isCurrent ? `${profile.name} (current)` : profile.name;\n return FormBuilder.make({ title }).pipe(\n FormBuilder.set('fullPath', profile.fullPath),\n FormBuilder.set('storagePath', profile.storagePath),\n FormBuilder.set('edge', profile.edge ?? '<none>'),\n FormBuilder.build,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig, print } from '@dxos/cli-util';\nimport { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';\n\nimport { printProfileDeleted } from './util';\n\nexport const del = Command.make(\n 'delete',\n {\n name: Options.text('name').pipe(Options.withDescription('Profile name'), Options.optional),\n },\n Effect.fnUntraced(function* ({ name }) {\n const { json } = yield* CommandConfig;\n const fs = yield* FileSystem.FileSystem;\n const profileName = name.pipe(Option.getOrElse(() => 'default'));\n const configPath = getProfileConfigPath(DX_CONFIG, profileName);\n const pluginsPath = `${DX_CONFIG}/plugins/${profileName}.yml`;\n yield* fs.remove(configPath).pipe(Effect.ignore);\n yield* fs.remove(pluginsPath).pipe(Effect.ignore);\n if (json) {\n yield* Console.log(JSON.stringify({ name: profileName, deleted: true }, null, 2));\n } else {\n yield* Console.log(print(printProfileDeleted(profileName)));\n }\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Path from '@effect/platform/Path';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { CommandConfig } from '@dxos/cli-util';\nimport { ConfigService } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport type { Runtime } from '@dxos/protocols/proto/dxos/config';\n\nexport const handler = Effect.fn(function* ({\n file,\n dataDir,\n force,\n}: {\n file: string;\n dataDir: Option.Option<string>;\n force: boolean;\n}) {\n const dataDirValue = Option.getOrUndefined(dataDir);\n const { json, profile } = yield* CommandConfig;\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const config = yield* ConfigService;\n\n const { createLevel, createStorageObjects, importProfileData, decodeProfileArchive } = yield* Effect.promise(\n () => import('@dxos/client-services'),\n );\n\n let storageConfig: Runtime.Client.Storage;\n if (!dataDirValue) {\n if (!force) {\n yield* Console.log(`Will overwrite profile: ${profile}`);\n const confirmed = yield* Prompt.confirm({\n message: `Delete all data? (Profile: ${profile})`,\n initial: false,\n }).pipe(Prompt.run);\n if (!confirmed) {\n return;\n }\n }\n storageConfig = config.values.runtime!.client!.storage!;\n } else {\n const fullPath = path.resolve(dataDirValue);\n yield* Console.log(`Importing into: ${fullPath}`);\n storageConfig = {\n persistent: true,\n dataRoot: fullPath,\n };\n }\n\n if (yield* fs.exists(storageConfig.dataRoot!)) {\n log.error('data directory already exists', { path: storageConfig.dataRoot! });\n if (json) {\n yield* Console.log(JSON.stringify({ error: 'Data directory already exists' }, null, 2));\n } else {\n yield* Console.log('Data directory already exists.');\n }\n return;\n }\n\n const data = yield* fs.readFile(file);\n\n const archive = decodeProfileArchive(data);\n yield* Console.log(`Importing archive with ${archive.storage.length} entries`);\n\n const { storage } = createStorageObjects(storageConfig);\n const level = yield* Effect.tryPromise({\n try: () => createLevel(storageConfig),\n catch: (error) => new Error(`Failed to create level: ${error}`),\n });\n\n yield* Console.log('Beginning profile import...');\n yield* Effect.tryPromise({\n try: () => importProfileData({ storage, level }, archive),\n catch: (error) => new Error(`Failed to import profile data: ${error}`),\n });\n yield* Console.log('Profile import complete');\n\n if (json) {\n yield* Console.log(JSON.stringify({ success: true, profile, entries: archive.storage.length }, null, 2));\n }\n});\n\nexport const importCommand = Command.make(\n 'import',\n {\n file: Options.text('file').pipe(Options.withDescription('Archive filename.'), Options.withAlias('f')),\n dataDir: Options.text('data-dir').pipe(Options.withDescription('Storage directory.'), Options.optional),\n force: Options.boolean('force', { ifPresent: true }).pipe(Options.withDescription('Skip confirmation prompt.')),\n },\n handler,\n).pipe(Command.withDescription('Import profile.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, FormBuilder, print } from '@dxos/cli-util';\nimport { ProfileArchiveEntryType } from '@dxos/protocols';\nimport { arrayToBuffer } from '@dxos/util';\n\nexport const handler = Effect.fn(function* ({ file, storage }: { file: string; storage: boolean }) {\n const { json } = yield* CommandConfig;\n const fs = yield* FileSystem.FileSystem;\n\n const { decodeProfileArchive } = yield* Effect.promise(() => import('@dxos/client-services'));\n\n const data = yield* fs.readFile(file);\n\n const archive = decodeProfileArchive(data);\n\n if (json) {\n yield* Console.log(\n JSON.stringify(\n {\n meta: archive.meta,\n ...(storage ? { storage: archive.storage } : {}),\n },\n null,\n 2,\n ),\n );\n } else {\n const builder = FormBuilder.make({ title: 'Profile Archive' }).pipe(\n FormBuilder.when(\n archive.meta,\n FormBuilder.each(Object.entries(archive.meta ?? {}), ([key, value]) => FormBuilder.set(key, String(value))),\n ),\n FormBuilder.build,\n );\n yield* Console.log(print(builder));\n\n if (storage) {\n yield* Console.log('\\nStorage entries:\\n');\n for (const entry of archive.storage) {\n const key =\n typeof entry.key === 'string' ? entry.key : JSON.stringify(arrayToBuffer(entry.key).toString()).slice(1, -1);\n yield* Console.log(` ${ProfileArchiveEntryType[entry.type]} ${key}`);\n }\n }\n }\n});\n\nexport const inspect = Command.make(\n 'inspect',\n {\n file: Options.text('file').pipe(Options.withDescription('Archive filename.'), Options.withAlias('f')),\n storage: Options.boolean('storage', { ifPresent: true }).pipe(Options.withDescription('List storage entries.')),\n },\n handler,\n).pipe(Command.withDescription('Inspect profile archive.'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Path from '@effect/platform/Path';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\nimport * as Yaml from 'yaml';\n\nimport { CommandConfig, printList } from '@dxos/cli-util';\nimport { Config } from '@dxos/client';\nimport { DX_CONFIG, DX_DATA, getProfilePath } from '@dxos/client-protocol';\n\nimport { printProfile } from './util';\n\nexport const list = Command.make(\n 'list',\n {},\n Effect.fnUntraced(function* () {\n const { profile: currentProfile } = yield* CommandConfig;\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const profileDir = path.join(DX_CONFIG, 'profile');\n const entries = yield* fs.readDirectory(profileDir);\n const profileFiles = entries.filter((entry) => entry.endsWith('.yml'));\n const profiles = yield* Effect.forEach(profileFiles, (filename) =>\n Effect.gen(function* () {\n const name = filename.slice(0, -4);\n const configPath = path.join(profileDir, filename);\n const configContent = yield* fs\n .readFileString(configPath)\n .pipe(Effect.catchTag('SystemError', () => Effect.succeed('{}')));\n const configValues = Yaml.parse(configContent) ?? {};\n const config = new Config(configValues);\n return {\n name,\n isCurrent: name === currentProfile,\n fullPath: configPath,\n storagePath: getProfilePath(configValues?.runtime?.client?.storage?.dataRoot ?? DX_DATA, name),\n edge: config.values.runtime?.services?.edge?.url,\n };\n }),\n );\n\n const { json } = yield* CommandConfig;\n if (json) {\n yield* Console.log(JSON.stringify(profiles, null, 2));\n } else {\n const formatted = profiles.map(printProfile);\n yield* Console.log(printList(formatted));\n }\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Options from '@effect/cli/Options';\nimport * as Prompt from '@effect/cli/Prompt';\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Console from 'effect/Console';\nimport * as Effect from 'effect/Effect';\n\nimport { CommandConfig, print } from '@dxos/cli-util';\nimport { DX_DATA, getProfilePath } from '@dxos/client-protocol';\nimport { ConfigService } from '@dxos/config';\n\nimport { printProfileReset } from './util';\n\nexport const reset = Command.make(\n 'reset',\n {\n force: Options.boolean('force', { ifPresent: true }).pipe(Options.withDescription('Skip confirmation prompt')),\n },\n Effect.fnUntraced(function* ({ force }) {\n const fs = yield* FileSystem.FileSystem;\n const config = yield* ConfigService;\n const { json, profile } = yield* CommandConfig;\n const path = config.values.runtime?.client?.storage?.dataRoot ?? getProfilePath(DX_DATA, profile);\n if (!force) {\n const confirmed = yield* Prompt.confirm({\n message: `Are you sure you want to reset the profile (${profile})?`,\n initial: false,\n });\n if (!confirmed) {\n return;\n }\n }\n\n yield* fs.remove(path, { recursive: true });\n if (json) {\n yield* Console.log(JSON.stringify({ profile, reset: true }, null, 2));\n } else {\n yield* Console.log(print(printProfileReset(profile)));\n }\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["ActivationEvents", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "Command", "Command", "Console", "Effect", "Yaml", "CommandConfig", "ConfigService", "DX_CONFIG", "getProfileConfigPath", "view", "make", "fnUntraced", "config", "ConfigService", "json", "profile", "CommandConfig", "configPath", "getProfileConfigPath", "DX_CONFIG", "log", "JSON", "stringify", "values", "config", "make", "pipe", "withDescription", "withSubcommands", "view", "Command", "Command", "Console", "Effect", "CommandConfig", "print", "ClientService", "DeviceType", "FormBuilder", "Device", "DeviceKind", "DeviceType", "maybeTruncateKey", "key", "truncate", "toHex", "getDeviceTitle", "device", "profile", "label", "platform", "os", "mapDevices", "devices", "truncateKeys", "map", "type", "DeviceType", "deviceKey", "kind", "DeviceKind", "platformVersion", "architecture", "osVersion", "presence", "CURRENT", "Device", "PresenceState", "printDevice", "FormBuilder", "make", "title", "pipe", "set", "build", "printDevices", "handler", "fn", "json", "CommandConfig", "client", "ClientService", "device", "halo", "log", "JSON", "stringify", "error", "deviceKey", "toHex", "profile", "type", "DeviceType", "print", "printDevice", "info", "make", "pipe", "withDescription", "Command", "Console", "Effect", "CommandConfig", "printList", "ClientService", "handler", "fn", "json", "CommandConfig", "client", "ClientService", "devices", "halo", "get", "log", "JSON", "stringify", "mapDevices", "formatted", "printDevices", "printList", "list", "make", "pipe", "withDescription", "Command", "Options", "Console", "Effect", "CommandConfig", "print", "ClientService", "handler", "fn", "label", "json", "CommandConfig", "client", "ClientService", "device", "halo", "log", "JSON", "stringify", "error", "updatedProfile", "profile", "devicesService", "services", "DevicesService", "updatedDevice", "tryPromise", "updateDevice", "deviceKey", "toHex", "print", "printDevice", "update", "make", "text", "pipe", "withDescription", "device", "make", "pipe", "withDescription", "withSubcommands", "info", "list", "update", "Command", "Command", "Console", "Effect", "Option", "CommandConfig", "ClientService", "createEdgeIdentity", "Context", "getStatus", "gen", "client", "identity", "edge", "http", "setIdentity", "status", "tryPromise", "default", "isJson", "log", "JSON", "stringify", "problems", "length", "problem", "error", "pipe", "catchSome", "Error", "message", "some", "none", "make", "withDescription", "edge", "make", "pipe", "withDescription", "withSubcommands", "status", "Command", "Command", "Options", "Console", "Effect", "Option", "Capabilities", "Plugin", "CommandConfig", "flushAndSync", "spaceLayer", "print", "ClientService", "invariant", "EdgeReplicationSetting", "MembershipPolicy", "FormBuilder", "printIdentity", "identity", "FormBuilder", "make", "title", "pipe", "set", "identityKey", "truncate", "profile", "displayName", "build", "handler", "fn", "agent", "displayName", "json", "CommandConfig", "client", "ClientService", "invariant", "halo", "identity", "get", "manager", "Plugin", "Service", "invoke", "capabilities", "Capabilities", "OperationInvoker", "ClientOperation", "CreateIdentity", "getOrUndefined", "CreateAgent", "PERSONAL_SPACE_TAG", "setPersonalSpace", "tryPromise", "space", "promise", "spaces", "create", "tags", "membershipPolicy", "MembershipPolicy", "LOCKED", "waitUntilReady", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "flushAndSync", "indexes", "pipe", "provide", "spaceLayer", "some", "id", "log", "JSON", "stringify", "identityKey", "toHex", "profile", "print", "printIdentity", "make", "boolean", "ifPresent", "withDescription", "text", "optional", "Command", "Args", "Command", "Prompt", "Console", "Effect", "Option", "CommandConfig", "ClientService", "invariant", "schema", "handler", "fn", "credential", "json", "client", "credentialHex", "getOrUndefined", "text", "message", "pipe", "run", "identity", "halo", "log", "JSON", "stringify", "error", "gen", "codec", "getCodecForType", "credentialBytes", "try", "Buffer", "from", "catch", "Error", "verifyError", "protoType", "verify", "fail", "credentialObj", "decode", "tryPromise", "writeCredentials", "success", "catchAll", "String", "add", "make", "name", "withDescription", "optional", "Command", "Options", "Console", "Duration", "Effect", "Option", "CommandConfig", "Common", "FormBuilder", "getSpace", "printList", "ClientService", "mapCredentials", "credentials", "map", "credential", "id", "toHex", "issuer", "subject", "type", "assertion", "printCredential", "FormBuilder", "make", "title", "pipe", "option", "fromNullable", "truncate", "build", "handler", "fn", "spaceId", "timeout", "delay", "json", "CommandConfig", "client", "ClientService", "isSome", "space", "getSpace", "value", "tryPromise", "internal", "getCredentials", "identity", "halo", "log", "JSON", "stringify", "error", "latch", "makeLatch", "subscription", "subscribe", "creds", "length", "Effect", "runSync", "open", "await", "millis", "catchAll", "void", "ensuring", "sync", "unsubscribe", "sleep", "queryCredentials", "getOrUndefined", "formatted", "printList", "list", "text", "withDescription", "optional", "Common", "integer", "withDefault", "credential", "make", "pipe", "withDescription", "withSubcommands", "add", "list", "Command", "Console", "Effect", "CommandConfig", "print", "ClientService", "handler", "fn", "json", "CommandConfig", "client", "ClientService", "identity", "halo", "get", "log", "JSON", "stringify", "error", "identityKey", "toHex", "displayName", "profile", "print", "printIdentity", "make", "pipe", "withDescription", "Command", "Console", "Effect", "Option", "CommandConfig", "FormBuilder", "print", "ClientService", "handler", "fn", "json", "CommandConfig", "client", "ClientService", "identity", "halo", "get", "device", "log", "JSON", "stringify", "identityKey", "toHex", "deviceKey", "builder", "FormBuilder", "make", "title", "pipe", "option", "fromNullable", "truncate", "print", "build", "keys", "withDescription", "Args", "Command", "Console", "Effect", "CommandConfig", "print", "ClientService", "invariant", "recover", "make", "recoveryCode", "text", "name", "pipe", "withDescription", "fn", "json", "CommandConfig", "client", "ClientService", "invariant", "halo", "identity", "get", "tryPromise", "recoverIdentity", "log", "JSON", "stringify", "identityKey", "toHex", "displayName", "profile", "print", "printIdentity", "Command", "Console", "Effect", "CommandConfig", "ClientService", "handler", "fn", "json", "CommandConfig", "client", "ClientService", "identityService", "services", "IdentityService", "log", "JSON", "stringify", "error", "result", "tryPromise", "createRecoveryCredential", "recoveryCode", "seed", "make", "pipe", "withDescription", "Command", "Options", "Console", "Effect", "CommandConfig", "print", "ClientService", "handler", "fn", "displayName", "json", "CommandConfig", "client", "ClientService", "identity", "halo", "get", "log", "JSON", "stringify", "error", "identityService", "services", "IdentityService", "updatedIdentity", "tryPromise", "updateProfile", "identityKey", "toHex", "profile", "print", "printIdentity", "update", "make", "text", "pipe", "withDescription", "halo", "make", "pipe", "withDescription", "withSubcommands", "create", "credential", "identity", "keys", "recover", "seed", "update", "Command", "Command", "Options", "FileSystem", "Path", "Console", "Effect", "Option", "Record", "CommandConfig", "print", "DX_CONFIG", "getProfileConfigPath", "trim", "FormBuilder", "printProfileCreated", "name", "path", "FormBuilder", "make", "title", "pipe", "set", "build", "printProfileDeleted", "printProfileReset", "profile", "printProfile", "isCurrent", "fullPath", "storagePath", "edge", "TEMPLATES", "default", "trim", "main", "dev", "local", "create", "make", "template", "choice", "keys", "pipe", "withDescription", "withDefault", "name", "text", "optional", "fnUntraced", "json", "CommandConfig", "fs", "FileSystem", "path", "Path", "profileName", "getOrElse", "configPath", "getProfileConfigPath", "DX_CONFIG", "exists", "Error", "makeDirectory", "dirname", "recursive", "writeFileString", "log", "JSON", "stringify", "print", "printProfileCreated", "Command", "Options", "FileSystem", "Console", "Effect", "Option", "CommandConfig", "print", "DX_CONFIG", "getProfileConfigPath", "del", "make", "name", "text", "pipe", "withDescription", "optional", "fnUntraced", "json", "CommandConfig", "fs", "FileSystem", "profileName", "getOrElse", "configPath", "getProfileConfigPath", "DX_CONFIG", "pluginsPath", "remove", "ignore", "log", "JSON", "stringify", "deleted", "print", "printProfileDeleted", "Command", "Options", "Prompt", "FileSystem", "Path", "Console", "Effect", "Option", "CommandConfig", "ConfigService", "log", "handler", "fn", "file", "dataDir", "force", "dataDirValue", "getOrUndefined", "json", "profile", "fs", "path", "config", "createLevel", "createStorageObjects", "importProfileData", "decodeProfileArchive", "promise", "storageConfig", "confirmed", "confirm", "message", "initial", "pipe", "run", "values", "runtime", "client", "storage", "fullPath", "resolve", "persistent", "dataRoot", "exists", "error", "JSON", "stringify", "data", "readFile", "archive", "length", "level", "tryPromise", "try", "catch", "Error", "success", "entries", "importCommand", "make", "text", "withDescription", "withAlias", "optional", "boolean", "ifPresent", "Command", "Options", "FileSystem", "Console", "Effect", "CommandConfig", "FormBuilder", "print", "ProfileArchiveEntryType", "arrayToBuffer", "handler", "fn", "file", "storage", "json", "CommandConfig", "fs", "FileSystem", "decodeProfileArchive", "promise", "data", "readFile", "archive", "log", "JSON", "stringify", "meta", "builder", "FormBuilder", "make", "title", "pipe", "when", "each", "Object", "entries", "key", "value", "set", "String", "build", "print", "entry", "arrayToBuffer", "toString", "slice", "ProfileArchiveEntryType", "type", "inspect", "text", "withDescription", "withAlias", "boolean", "ifPresent", "Command", "FileSystem", "Path", "Console", "Effect", "Yaml", "CommandConfig", "printList", "Config", "DX_CONFIG", "DX_DATA", "getProfilePath", "list", "make", "fnUntraced", "profile", "currentProfile", "CommandConfig", "fs", "FileSystem", "path", "Path", "profileDir", "join", "DX_CONFIG", "entries", "readDirectory", "profileFiles", "filter", "entry", "endsWith", "profiles", "forEach", "filename", "gen", "name", "slice", "configPath", "configContent", "readFileString", "pipe", "catchTag", "succeed", "configValues", "parse", "config", "Config", "isCurrent", "fullPath", "storagePath", "getProfilePath", "runtime", "client", "storage", "dataRoot", "DX_DATA", "edge", "values", "services", "url", "json", "log", "JSON", "stringify", "formatted", "map", "printProfile", "printList", "Command", "Options", "Prompt", "FileSystem", "Console", "Effect", "CommandConfig", "print", "DX_DATA", "getProfilePath", "ConfigService", "reset", "make", "force", "boolean", "ifPresent", "pipe", "withDescription", "fnUntraced", "fs", "FileSystem", "config", "ConfigService", "json", "profile", "CommandConfig", "path", "values", "runtime", "client", "storage", "dataRoot", "getProfilePath", "DX_DATA", "confirmed", "confirm", "message", "initial", "remove", "recursive", "log", "JSON", "stringify", "print", "printProfileReset", "profile", "make", "pipe", "withDescription", "withSubcommands", "create", "del", "importCommand", "inspect", "list", "reset", "ClientPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addCommandModule", "commands", "config", "device", "edge", "halo", "profile", "addOperationHandlerModule", "activate", "OperationHandler", "addModule", "options", "id", "Capability", "getModuleTag", "Client", "activatesOn", "ActivationEvents", "Startup", "activatesAfter", "ClientEvents", "ClientReady", "activatesBefore", "AppActivationEvents", "SetupSchema", "SchemaDefs", "make"]
7
+ }
@@ -0,0 +1,96 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ ClientCapabilities,
4
+ ClientEvents
5
+ } from "./chunk-5NENK2KO.mjs";
6
+ import "./chunk-BOTJSPCT.mjs";
7
+ import "./chunk-HSLMI22Q.mjs";
8
+
9
+ // src/capabilities/client/client.ts
10
+ import * as Effect from "effect/Effect";
11
+ import { Capabilities, Capability, Plugin } from "@dxos/app-framework";
12
+ import { Client, ClientService } from "@dxos/client";
13
+ import { runAndForwardErrors } from "@dxos/effect";
14
+ import { log } from "@dxos/log";
15
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/capabilities/client/client.ts";
16
+ var client_default = Capability.makeModule(Effect.fnUntraced(function* ({ onClientInitialized, onSpacesReady, ...options }) {
17
+ const capabilityManager = yield* Capability.Service;
18
+ const pluginManager = yield* Plugin.Service;
19
+ log("creating client", void 0, {
20
+ F: __dxlog_file,
21
+ L: 25,
22
+ S: this,
23
+ C: (f, a) => f(...a)
24
+ });
25
+ const client = new Client(options);
26
+ log("initializing client (calling client.initialize())...", void 0, {
27
+ F: __dxlog_file,
28
+ L: 27,
29
+ S: this,
30
+ C: (f, a) => f(...a)
31
+ });
32
+ yield* Effect.tryPromise(() => client.initialize());
33
+ log("client.initialize() returned successfully", void 0, {
34
+ F: __dxlog_file,
35
+ L: 29,
36
+ S: this,
37
+ C: (f, a) => f(...a)
38
+ });
39
+ if (onClientInitialized) {
40
+ yield* onClientInitialized({
41
+ client
42
+ }).pipe(Effect.provideService(Capability.Service, capabilityManager), Effect.provideService(Plugin.Service, pluginManager));
43
+ }
44
+ log("called client initialized callback", void 0, {
45
+ F: __dxlog_file,
46
+ L: 36,
47
+ S: this,
48
+ C: (f, a) => f(...a)
49
+ });
50
+ client.reloaded.on(() => {
51
+ client.halo.identity.subscribe(async (identity) => {
52
+ if (identity) {
53
+ window.location.href = window.location.origin;
54
+ }
55
+ });
56
+ });
57
+ let spacesReadyFired = false;
58
+ const subscription = client.spaces.subscribe(async () => {
59
+ if (!spacesReadyFired) {
60
+ spacesReadyFired = true;
61
+ await Effect.gen(function* () {
62
+ yield* Plugin.activate(ClientEvents.SpacesReady);
63
+ if (onSpacesReady) {
64
+ yield* onSpacesReady({
65
+ client
66
+ });
67
+ }
68
+ }).pipe(Effect.provideService(Capability.Service, capabilityManager), Effect.provideService(Plugin.Service, pluginManager), runAndForwardErrors);
69
+ }
70
+ });
71
+ log("client capability ready", void 0, {
72
+ F: __dxlog_file,
73
+ L: 64,
74
+ S: this,
75
+ C: (f, a) => f(...a)
76
+ });
77
+ return [
78
+ // TODO(wittjosiah): Try to remove and prefer layer?
79
+ // Perhaps move to using layer has source of truth and add a getter capability for the client.
80
+ Capability.contributes(ClientCapabilities.Client, client, () => Effect.gen(function* () {
81
+ log.info("client capability: destroying client", void 0, {
82
+ F: __dxlog_file,
83
+ L: 71,
84
+ S: this,
85
+ C: (f, a) => f(...a)
86
+ });
87
+ subscription.unsubscribe();
88
+ yield* Effect.tryPromise(() => client.destroy());
89
+ })),
90
+ Capability.contributes(Capabilities.Layer, ClientService.fromClient(client))
91
+ ];
92
+ }));
93
+ export {
94
+ client_default as default
95
+ };
96
+ //# sourceMappingURL=client-OFM3CBYZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/client/client.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability, Plugin } from '@dxos/app-framework';\nimport { Client, ClientService } from '@dxos/client';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { log } from '@dxos/log';\n\nimport { ClientEvents } from '../../types';\nimport { ClientCapabilities, type ClientPluginOptions } from '../../types';\n\ntype ClientCapabilityOptions = Omit<\n ClientPluginOptions,\n 'appKey' | 'shareableLinkOrigin' | 'invitationPath' | 'invitationParam' | 'onReset'\n>;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ onClientInitialized, onSpacesReady, ...options }: ClientCapabilityOptions) {\n const capabilityManager = yield* Capability.Service;\n const pluginManager = yield* Plugin.Service;\n\n log('creating client');\n const client = new Client(options);\n log('initializing client (calling client.initialize())...');\n yield* Effect.tryPromise(() => client.initialize());\n log('client.initialize() returned successfully');\n if (onClientInitialized) {\n yield* onClientInitialized({ client }).pipe(\n Effect.provideService(Capability.Service, capabilityManager),\n Effect.provideService(Plugin.Service, pluginManager),\n );\n }\n log('called client initialized callback');\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 let spacesReadyFired = false;\n const subscription = client.spaces.subscribe(async () => {\n if (!spacesReadyFired) {\n spacesReadyFired = true;\n await Effect.gen(function* () {\n yield* Plugin.activate(ClientEvents.SpacesReady);\n if (onSpacesReady) {\n yield* onSpacesReady({ client });\n }\n }).pipe(\n Effect.provideService(Capability.Service, capabilityManager),\n Effect.provideService(Plugin.Service, pluginManager),\n runAndForwardErrors,\n );\n }\n });\n\n log('client capability ready');\n\n return [\n // TODO(wittjosiah): Try to remove and prefer layer?\n // Perhaps move to using layer has source of truth and add a getter capability for the client.\n Capability.contributes(ClientCapabilities.Client, client, () =>\n Effect.gen(function* () {\n log.info('client capability: destroying client');\n subscription.unsubscribe();\n yield* Effect.tryPromise(() => client.destroy());\n }),\n ),\n Capability.contributes(Capabilities.Layer, ClientService.fromClient(client)),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,YAAYC,cAAc;AACjD,SAASC,QAAQC,qBAAqB;AACtC,SAASC,2BAA2B;AACpC,SAASC,WAAW;;AAUpB,IAAA,iBAAeC,WAAWC,WACjBC,kBAAW,WAAW,EAAEC,qBAAqBC,eAAe,GAAGC,QAAAA,GAAkC;AACtG,QAAMC,oBAAoB,OAAON,WAAWO;AAC5C,QAAMC,gBAAgB,OAAOC,OAAOF;AAEpCG,MAAI,mBAAA,QAAA;;;;;;AACJ,QAAMC,SAAS,IAAIC,OAAOP,OAAAA;AAC1BK,MAAI,wDAAA,QAAA;;;;;;AACJ,SAAcG,kBAAW,MAAMF,OAAOG,WAAU,CAAA;AAChDJ,MAAI,6CAAA,QAAA;;;;;;AACJ,MAAIP,qBAAqB;AACvB,WAAOA,oBAAoB;MAAEQ;IAAO,CAAA,EAAGI,KAC9BC,sBAAehB,WAAWO,SAASD,iBAAAA,GACnCU,sBAAeP,OAAOF,SAASC,aAAAA,CAAAA;EAE1C;AACAE,MAAI,sCAAA,QAAA;;;;;;AAGJC,SAAOM,SAASC,GAAG,MAAA;AACjBP,WAAOQ,KAAKC,SAASC,UAAU,OAAOD,aAAAA;AACpC,UAAIA,UAAU;AACZE,eAAOC,SAASC,OAAOF,OAAOC,SAASE;MACzC;IACF,CAAA;EACF,CAAA;AAEA,MAAIC,mBAAmB;AACvB,QAAMC,eAAehB,OAAOiB,OAAOP,UAAU,YAAA;AAC3C,QAAI,CAACK,kBAAkB;AACrBA,yBAAmB;AACnB,YAAaG,WAAI,aAAA;AACf,eAAOpB,OAAOqB,SAASC,aAAaC,WAAW;AAC/C,YAAI5B,eAAe;AACjB,iBAAOA,cAAc;YAAEO;UAAO,CAAA;QAChC;MACF,CAAA,EAAGI,KACMC,sBAAehB,WAAWO,SAASD,iBAAAA,GACnCU,sBAAeP,OAAOF,SAASC,aAAAA,GACtCyB,mBAAAA;IAEJ;EACF,CAAA;AAEAvB,MAAI,2BAAA,QAAA;;;;;;AAEJ,SAAO;;;IAGLV,WAAWkC,YAAYC,mBAAmBvB,QAAQD,QAAQ,MACjDkB,WAAI,aAAA;AACTnB,UAAI0B,KAAK,wCAAA,QAAA;;;;;;AACTT,mBAAaU,YAAW;AACxB,aAAcxB,kBAAW,MAAMF,OAAO2B,QAAO,CAAA;IAC/C,CAAA,CAAA;IAEFtC,WAAWkC,YAAYK,aAAaC,OAAOC,cAAcC,WAAW/B,MAAAA,CAAAA;;AAExE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "Plugin", "Client", "ClientService", "runAndForwardErrors", "log", "Capability", "makeModule", "fnUntraced", "onClientInitialized", "onSpacesReady", "options", "capabilityManager", "Service", "pluginManager", "Plugin", "log", "client", "Client", "tryPromise", "initialize", "pipe", "provideService", "reloaded", "on", "halo", "identity", "subscribe", "window", "location", "href", "origin", "spacesReadyFired", "subscription", "spaces", "gen", "activate", "ClientEvents", "SpacesReady", "runAndForwardErrors", "contributes", "ClientCapabilities", "info", "unsubscribe", "destroy", "Capabilities", "Layer", "ClientService", "fromClient"]
7
+ }
@@ -0,0 +1,36 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ CreateAgent
4
+ } from "./chunk-FU7MBWDD.mjs";
5
+ import {
6
+ ClientCapabilities
7
+ } from "./chunk-5NENK2KO.mjs";
8
+ import "./chunk-BOTJSPCT.mjs";
9
+ import "./chunk-HSLMI22Q.mjs";
10
+
11
+ // src/operations/create-agent.ts
12
+ import * as Effect from "effect/Effect";
13
+ import { Capability } from "@dxos/app-framework";
14
+ import { invariant } from "@dxos/invariant";
15
+ import { Operation } from "@dxos/operation";
16
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/operations/create-agent.ts";
17
+ var handler = CreateAgent.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
18
+ const client = yield* Capability.get(ClientCapabilities.Client);
19
+ invariant(client.services.services.EdgeAgentService, "Missing EdgeAgentService", {
20
+ F: __dxlog_file,
21
+ L: 19,
22
+ S: this,
23
+ A: [
24
+ "client.services.services.EdgeAgentService",
25
+ "'Missing EdgeAgentService'"
26
+ ]
27
+ });
28
+ yield* Effect.promise(() => client.services.services.EdgeAgentService.createAgent(void 0, {
29
+ timeout: 1e4
30
+ }));
31
+ })));
32
+ var create_agent_default = handler;
33
+ export {
34
+ create_agent_default as default
35
+ };
36
+ //# sourceMappingURL=create-agent-QIWBTZSQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-agent.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\n\nimport { CreateAgent } from './definitions';\n\nimport { ClientCapabilities } from '../types';\n\nconst handler: Operation.WithHandler<typeof CreateAgent> = CreateAgent.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');\n yield* Effect.promise(() =>\n client.services.services.EdgeAgentService!.createAgent(undefined, { timeout: 10_000 }),\n );\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAM1B,IAAMC,UAAqDC,YAAYC,KACrEC,UAAUC,YACDC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOC,WAAWC,IAAIC,mBAAmBC,MAAM;AAC9DC,YAAUL,OAAOM,SAASA,SAASC,kBAAkB,4BAAA;;;;;;;;;AACrD,SAAcC,eAAQ,MACpBR,OAAOM,SAASA,SAASC,iBAAkBE,YAAYC,QAAW;IAAEC,SAAS;EAAO,CAAA,CAAA;AAExF,CAAA,CAAA,CAAA;AAIJ,IAAA,uBAAejB;",
6
+ "names": ["Effect", "Capability", "invariant", "Operation", "handler", "CreateAgent", "pipe", "Operation", "withHandler", "fnUntraced", "client", "Capability", "get", "ClientCapabilities", "Client", "invariant", "services", "EdgeAgentService", "promise", "createAgent", "undefined", "timeout"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ CreateIdentity
4
+ } from "./chunk-FU7MBWDD.mjs";
5
+ import {
6
+ ClientCapabilities,
7
+ ClientEvents
8
+ } from "./chunk-5NENK2KO.mjs";
9
+ import "./chunk-BOTJSPCT.mjs";
10
+ import "./chunk-HSLMI22Q.mjs";
11
+
12
+ // src/operations/create-identity.ts
13
+ import * as Effect from "effect/Effect";
14
+ import { Capabilities, Capability } from "@dxos/app-framework";
15
+ import { runAndForwardErrors } from "@dxos/effect";
16
+ import { Operation } from "@dxos/operation";
17
+ import { ObservabilityOperation } from "@dxos/plugin-observability/operations";
18
+ var handler = CreateIdentity.pipe(Operation.withHandler(Effect.fnUntraced(function* (profile) {
19
+ const manager = yield* Capability.get(Capabilities.PluginManager);
20
+ const client = yield* Capability.get(ClientCapabilities.Client);
21
+ const data = yield* Effect.promise(() => client.halo.createIdentity(profile));
22
+ yield* Effect.promise(() => runAndForwardErrors(manager.activate(ClientEvents.IdentityCreated)));
23
+ yield* Operation.schedule(ObservabilityOperation.SendEvent, {
24
+ name: "identity.create"
25
+ });
26
+ return data;
27
+ })));
28
+ var create_identity_default = handler;
29
+ export {
30
+ create_identity_default as default
31
+ };
32
+ //# sourceMappingURL=create-identity-P7WDMAE7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-identity.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { Operation } from '@dxos/operation';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/operations';\n\nimport { CreateIdentity } from './definitions';\n\nimport { ClientEvents } from '../types';\nimport { ClientCapabilities } from '../types';\n\nconst handler: Operation.WithHandler<typeof CreateIdentity> = CreateIdentity.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (profile) {\n const manager = yield* Capability.get(Capabilities.PluginManager);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const data = yield* Effect.promise(() => client.halo.createIdentity(profile));\n yield* Effect.promise(() => runAndForwardErrors(manager.activate(ClientEvents.IdentityCreated)));\n yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.create' });\n return data;\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,2BAA2B;AACpC,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;AAOvC,IAAMC,UAAwDC,eAAeC,KAC3EC,UAAUC,YACDC,kBAAW,WAAWC,SAAO;AAClC,QAAMC,UAAU,OAAOC,WAAWC,IAAIC,aAAaC,aAAa;AAChE,QAAMC,SAAS,OAAOJ,WAAWC,IAAII,mBAAmBC,MAAM;AAC9D,QAAMC,OAAO,OAAcC,eAAQ,MAAMJ,OAAOK,KAAKC,eAAeZ,OAAAA,CAAAA;AACpE,SAAcU,eAAQ,MAAMG,oBAAoBZ,QAAQa,SAASC,aAAaC,eAAe,CAAA,CAAA;AAC7F,SAAOnB,UAAUoB,SAASC,uBAAuBC,WAAW;IAAEC,MAAM;EAAkB,CAAA;AACtF,SAAOX;AACT,CAAA,CAAA,CAAA;AAIJ,IAAA,0BAAef;",
6
+ "names": ["Effect", "Capabilities", "Capability", "runAndForwardErrors", "Operation", "ObservabilityOperation", "handler", "CreateIdentity", "pipe", "Operation", "withHandler", "fnUntraced", "profile", "manager", "Capability", "get", "Capabilities", "PluginManager", "client", "ClientCapabilities", "Client", "data", "promise", "halo", "createIdentity", "runAndForwardErrors", "activate", "ClientEvents", "IdentityCreated", "schedule", "ObservabilityOperation", "SendEvent", "name"]
7
+ }
@@ -0,0 +1,91 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ CreatePasskey
4
+ } from "./chunk-FU7MBWDD.mjs";
5
+ import {
6
+ ClientCapabilities
7
+ } from "./chunk-5NENK2KO.mjs";
8
+ import "./chunk-BOTJSPCT.mjs";
9
+ import "./chunk-HSLMI22Q.mjs";
10
+
11
+ // src/operations/create-passkey.ts
12
+ import * as Effect from "effect/Effect";
13
+ import { Capability } from "@dxos/app-framework";
14
+ import { PublicKey } from "@dxos/client";
15
+ import { invariant } from "@dxos/invariant";
16
+ import { Operation } from "@dxos/operation";
17
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/operations/create-passkey.ts";
18
+ var handler = CreatePasskey.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
19
+ const client = yield* Capability.get(ClientCapabilities.Client);
20
+ const identity = client.halo.identity.get();
21
+ invariant(identity, "Identity not available", {
22
+ F: __dxlog_file,
23
+ L: 21,
24
+ S: this,
25
+ A: [
26
+ "identity",
27
+ "'Identity not available'"
28
+ ]
29
+ });
30
+ const lookupKey = PublicKey.random();
31
+ const credential = yield* Effect.promise(() => navigator.credentials.create({
32
+ publicKey: {
33
+ challenge: new Uint8Array(),
34
+ rp: {
35
+ id: location.hostname,
36
+ name: "Composer"
37
+ },
38
+ user: {
39
+ id: lookupKey.asUint8Array(),
40
+ name: identity.did,
41
+ displayName: identity.profile?.displayName ?? ""
42
+ },
43
+ pubKeyCredParams: [
44
+ {
45
+ type: "public-key",
46
+ alg: -8
47
+ },
48
+ {
49
+ type: "public-key",
50
+ alg: -7
51
+ }
52
+ ],
53
+ authenticatorSelection: {
54
+ residentKey: "required",
55
+ requireResidentKey: true
56
+ }
57
+ }
58
+ }));
59
+ invariant(credential, "Credential not available", {
60
+ F: __dxlog_file,
61
+ L: 46,
62
+ S: this,
63
+ A: [
64
+ "credential",
65
+ "'Credential not available'"
66
+ ]
67
+ });
68
+ const recoveryKey = PublicKey.from(new Uint8Array(credential.response.getPublicKey()));
69
+ const algorithm = credential.response.getPublicKeyAlgorithm() === -7 ? "ES256" : "ED25519";
70
+ invariant(client.services.services.IdentityService, "IdentityService not available", {
71
+ F: __dxlog_file,
72
+ L: 50,
73
+ S: this,
74
+ A: [
75
+ "client.services.services.IdentityService",
76
+ "'IdentityService not available'"
77
+ ]
78
+ });
79
+ yield* Effect.promise(() => client.services.services.IdentityService.createRecoveryCredential({
80
+ data: {
81
+ recoveryKey,
82
+ algorithm,
83
+ lookupKey
84
+ }
85
+ }));
86
+ })));
87
+ var create_passkey_default = handler;
88
+ export {
89
+ create_passkey_default as default
90
+ };
91
+ //# sourceMappingURL=create-passkey-77HCW3ES.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-passkey.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { PublicKey } from '@dxos/client';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\n\nimport { CreatePasskey } from './definitions';\n\nimport { ClientCapabilities } from '../types';\n\nconst handler: Operation.WithHandler<typeof CreatePasskey> = CreatePasskey.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const identity = client.halo.identity.get();\n invariant(identity, 'Identity not available');\n\n const lookupKey = PublicKey.random();\n const credential = yield* Effect.promise(() =>\n navigator.credentials.create({\n publicKey: {\n challenge: new Uint8Array(),\n rp: { id: location.hostname, name: 'Composer' },\n user: {\n id: lookupKey.asUint8Array() as Uint8Array<ArrayBuffer>,\n name: identity.did,\n displayName: identity.profile?.displayName ?? '',\n },\n pubKeyCredParams: [\n { type: 'public-key', alg: -8 },\n { type: 'public-key', alg: -7 },\n ],\n authenticatorSelection: {\n residentKey: 'required',\n requireResidentKey: true,\n },\n },\n }),\n );\n\n invariant(credential, 'Credential not available');\n const recoveryKey = PublicKey.from(new Uint8Array((credential as any).response.getPublicKey()));\n const algorithm = (credential as any).response.getPublicKeyAlgorithm() === -7 ? 'ES256' : 'ED25519';\n\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n yield* Effect.promise(() =>\n client.services.services.IdentityService!.createRecoveryCredential({\n data: {\n recoveryKey,\n algorithm,\n lookupKey,\n },\n }),\n );\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAM1B,IAAMC,UAAuDC,cAAcC,KACzEC,UAAUC,YACDC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOC,WAAWC,IAAIC,mBAAmBC,MAAM;AAC9D,QAAMC,WAAWL,OAAOM,KAAKD,SAASH,IAAG;AACzCK,YAAUF,UAAU,0BAAA;;;;;;;;;AAEpB,QAAMG,YAAYC,UAAUC,OAAM;AAClC,QAAMC,aAAa,OAAcC,eAAQ,MACvCC,UAAUC,YAAYC,OAAO;IAC3BC,WAAW;MACTC,WAAW,IAAIC,WAAAA;MACfC,IAAI;QAAEC,IAAIC,SAASC;QAAUC,MAAM;MAAW;MAC9CC,MAAM;QACJJ,IAAIZ,UAAUiB,aAAY;QAC1BF,MAAMlB,SAASqB;QACfC,aAAatB,SAASuB,SAASD,eAAe;MAChD;MACAE,kBAAkB;QAChB;UAAEC,MAAM;UAAcC,KAAK;QAAG;QAC9B;UAAED,MAAM;UAAcC,KAAK;QAAG;;MAEhCC,wBAAwB;QACtBC,aAAa;QACbC,oBAAoB;MACtB;IACF;EACF,CAAA,CAAA;AAGF3B,YAAUI,YAAY,4BAAA;;;;;;;;;AACtB,QAAMwB,cAAc1B,UAAU2B,KAAK,IAAIlB,WAAYP,WAAmB0B,SAASC,aAAY,CAAA,CAAA;AAC3F,QAAMC,YAAa5B,WAAmB0B,SAASG,sBAAqB,MAAO,KAAK,UAAU;AAE1FjC,YAAUP,OAAOyC,SAASA,SAASC,iBAAiB,iCAAA;;;;;;;;;AACpD,SAAc9B,eAAQ,MACpBZ,OAAOyC,SAASA,SAASC,gBAAiBC,yBAAyB;IACjEC,MAAM;MACJT;MACAI;MACA/B;IACF;EACF,CAAA,CAAA;AAEJ,CAAA,CAAA,CAAA;AAIJ,IAAA,yBAAed;",
6
+ "names": ["Effect", "Capability", "PublicKey", "invariant", "Operation", "handler", "CreatePasskey", "pipe", "Operation", "withHandler", "fnUntraced", "client", "Capability", "get", "ClientCapabilities", "Client", "identity", "halo", "invariant", "lookupKey", "PublicKey", "random", "credential", "promise", "navigator", "credentials", "create", "publicKey", "challenge", "Uint8Array", "rp", "id", "location", "hostname", "name", "user", "asUint8Array", "did", "displayName", "profile", "pubKeyCredParams", "type", "alg", "authenticatorSelection", "residentKey", "requireResidentKey", "recoveryKey", "from", "response", "getPublicKey", "algorithm", "getPublicKeyAlgorithm", "services", "IdentityService", "createRecoveryCredential", "data"]
7
+ }
@@ -0,0 +1,46 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ RECOVERY_CODE_DIALOG
4
+ } from "./chunk-VLNCZYIC.mjs";
5
+ import {
6
+ CreateRecoveryCode
7
+ } from "./chunk-FU7MBWDD.mjs";
8
+ import {
9
+ ClientCapabilities
10
+ } from "./chunk-5NENK2KO.mjs";
11
+ import "./chunk-BOTJSPCT.mjs";
12
+ import "./chunk-HSLMI22Q.mjs";
13
+
14
+ // src/operations/create-recovery-code.ts
15
+ import * as Effect from "effect/Effect";
16
+ import { Capability } from "@dxos/app-framework";
17
+ import { LayoutOperation } from "@dxos/app-toolkit";
18
+ import { invariant } from "@dxos/invariant";
19
+ import { Operation } from "@dxos/operation";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/operations/create-recovery-code.ts";
21
+ var handler = CreateRecoveryCode.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
22
+ const client = yield* Capability.get(ClientCapabilities.Client);
23
+ invariant(client.services.services.IdentityService, "IdentityService not available", {
24
+ F: __dxlog_file,
25
+ L: 21,
26
+ S: this,
27
+ A: [
28
+ "client.services.services.IdentityService",
29
+ "'IdentityService not available'"
30
+ ]
31
+ });
32
+ const { recoveryCode } = yield* Effect.promise(() => client.services.services.IdentityService.createRecoveryCredential({}));
33
+ yield* Operation.invoke(LayoutOperation.UpdateDialog, {
34
+ subject: RECOVERY_CODE_DIALOG,
35
+ blockAlign: "start",
36
+ type: "alert",
37
+ props: {
38
+ code: recoveryCode
39
+ }
40
+ });
41
+ })));
42
+ var create_recovery_code_default = handler;
43
+ export {
44
+ create_recovery_code_default as default
45
+ };
46
+ //# sourceMappingURL=create-recovery-code-CCDGTSPG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-recovery-code.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\n\nimport { CreateRecoveryCode } from './definitions';\n\nimport { RECOVERY_CODE_DIALOG } from '../constants';\nimport { ClientCapabilities } from '../types';\n\nconst handler: Operation.WithHandler<typeof CreateRecoveryCode> = CreateRecoveryCode.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n const { recoveryCode } = yield* Effect.promise(() =>\n client.services.services.IdentityService!.createRecoveryCredential({}),\n );\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: RECOVERY_CODE_DIALOG,\n blockAlign: 'start',\n type: 'alert',\n props: { code: recoveryCode },\n });\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAO1B,IAAMC,UAA4DC,mBAAmBC,KACnFC,UAAUC,YACDC,kBAAW,aAAA;AAChB,QAAMC,SAAS,OAAOC,WAAWC,IAAIC,mBAAmBC,MAAM;AAC9DC,YAAUL,OAAOM,SAASA,SAASC,iBAAiB,iCAAA;;;;;;;;;AACpD,QAAM,EAAEC,aAAY,IAAK,OAAcC,eAAQ,MAC7CT,OAAOM,SAASA,SAASC,gBAAiBG,yBAAyB,CAAC,CAAA,CAAA;AAEtE,SAAOb,UAAUc,OAAOC,gBAAgBC,cAAc;IACpDC,SAASC;IACTC,YAAY;IACZC,MAAM;IACNC,OAAO;MAAEC,MAAMX;IAAa;EAC9B,CAAA;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,+BAAed;",
6
+ "names": ["Effect", "Capability", "LayoutOperation", "invariant", "Operation", "handler", "CreateRecoveryCode", "pipe", "Operation", "withHandler", "fnUntraced", "client", "Capability", "get", "ClientCapabilities", "Client", "invariant", "services", "IdentityService", "recoveryCode", "promise", "createRecoveryCredential", "invoke", "LayoutOperation", "UpdateDialog", "subject", "RECOVERY_CODE_DIALOG", "blockAlign", "type", "props", "code"]
7
+ }