@oxy.so/services 6.2.0 → 8.1.0

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 (922) hide show
  1. package/README.md +80 -136
  2. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  3. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  4. package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -21
  5. package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  6. package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  7. package/lib/commonjs/assets/fonts/icons/manifest.json +5 -21
  8. package/lib/commonjs/index.js +21 -15
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/ui/boot/runProviderColdBoot.js +2 -1
  11. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +2 -3
  13. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyAuthChooser.js +15 -32
  15. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
  19. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  20. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  21. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +2 -2
  22. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  23. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +6 -17
  24. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -1
  25. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +1 -1
  26. package/lib/commonjs/ui/components/authChooser/primitives.js +1 -102
  27. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
  28. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
  29. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -1
  30. package/lib/commonjs/ui/components/authChooser/styles.js +0 -33
  31. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -1
  32. package/lib/commonjs/ui/components/authChooser/types.js +0 -8
  33. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
  34. package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js +1 -1
  35. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js +153 -58
  36. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  37. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js +325 -0
  38. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
  39. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js +52 -56
  40. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  41. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
  42. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  43. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js +141 -0
  44. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
  45. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js +496 -201
  46. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -1
  47. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js +211 -42
  48. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  49. package/lib/commonjs/ui/components/signIn/ReauthStep.js +186 -0
  50. package/lib/commonjs/ui/components/signIn/ReauthStep.js.map +1 -0
  51. package/lib/commonjs/ui/components/signIn/accountFlowParts.js +103 -26
  52. package/lib/commonjs/ui/components/signIn/accountFlowParts.js.map +1 -1
  53. package/lib/commonjs/ui/components/signIn/signInFlowStore.js +50 -0
  54. package/lib/commonjs/ui/components/signIn/signInFlowStore.js.map +1 -0
  55. package/lib/commonjs/ui/components/signIn/signInMethods.js +11 -25
  56. package/lib/commonjs/ui/components/signIn/signInMethods.js.map +1 -1
  57. package/lib/commonjs/ui/context/OxyContext.js +125 -119
  58. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  59. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -10
  60. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  61. package/lib/commonjs/ui/context/useOxyAccountGraph.js +4 -4
  62. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  63. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +1 -1
  64. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +19 -9
  65. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  66. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +4 -4
  67. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  68. package/lib/commonjs/ui/hooks/queries/queryKeys.js +23 -3
  69. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  70. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +8 -8
  71. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  72. package/lib/commonjs/ui/hooks/queries/useAuthMethods.js +27 -15
  73. package/lib/commonjs/ui/hooks/queries/useAuthMethods.js.map +1 -1
  74. package/lib/commonjs/ui/hooks/queries/useFileQueries.js +5 -2
  75. package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
  76. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +8 -8
  77. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  78. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +4 -3
  79. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  80. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +6 -6
  81. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  82. package/lib/commonjs/ui/hooks/useAssets.js +36 -20
  83. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
  84. package/lib/commonjs/ui/hooks/useAvatarPicker.js +6 -4
  85. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  86. package/lib/commonjs/ui/hooks/useDeviceManagement.js +5 -5
  87. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -1
  88. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +2 -2
  89. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
  90. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +1 -4
  91. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
  92. package/lib/commonjs/ui/hooks/useFollow.js +2 -2
  93. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  94. package/lib/commonjs/ui/hooks/useFollowTarget.js +5 -5
  95. package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -1
  96. package/lib/commonjs/ui/hooks/useI18n.js +4 -1
  97. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
  98. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js +2 -2
  99. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -1
  100. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
  101. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  102. package/lib/commonjs/ui/icons/subsetGlyphMaps.js +0 -16
  103. package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
  104. package/lib/commonjs/ui/navigation/routes.js +6 -4
  105. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  106. package/lib/commonjs/ui/navigation/surfaceRegistry.js +1 -1
  107. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
  108. package/lib/commonjs/ui/oauth/browserBridge.js +247 -0
  109. package/lib/commonjs/ui/oauth/browserBridge.js.map +1 -0
  110. package/lib/commonjs/ui/oauth/completeOAuthCode.js +1 -1
  111. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -1
  112. package/lib/commonjs/ui/oauth/explicitOAuthConsent.js +1 -1
  113. package/lib/commonjs/ui/oauth/explicitOAuthConsent.js.map +1 -1
  114. package/lib/commonjs/ui/runtime/createOxyRuntime.js +9 -8
  115. package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
  116. package/lib/commonjs/ui/runtime/runtimeContext.js.map +1 -1
  117. package/lib/commonjs/ui/screens/AccountMembersScreen.js +7 -7
  118. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  119. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js +35 -0
  120. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
  121. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -3
  122. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  123. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +1 -1
  124. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AppInfoScreen.js +5 -5
  126. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AvatarCropScreen.js +3 -3
  128. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +1 -1
  130. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/CreateAccountScreen.js +1 -1
  132. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/DeleteAccountScreen.js +19 -0
  134. package/lib/commonjs/ui/screens/DeleteAccountScreen.js.map +1 -0
  135. package/lib/commonjs/ui/screens/DomainsScreen.js +217 -0
  136. package/lib/commonjs/ui/screens/DomainsScreen.js.map +1 -0
  137. package/lib/commonjs/ui/screens/EditProfileScreen.js +1 -1
  138. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/FileManagementScreen.js +25 -11
  140. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/HelpSupportScreen.js +1 -17
  142. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/LinkCommonsScreen.js +14 -0
  144. package/lib/commonjs/ui/screens/LinkCommonsScreen.js.map +1 -0
  145. package/lib/commonjs/ui/screens/ManageAccountScreen.js +57 -61
  146. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +52 -62
  148. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/ProfileScreen.js +5 -13
  150. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  151. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +15 -24
  152. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  153. package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js +14 -0
  154. package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
  155. package/lib/commonjs/ui/screens/SignInPasswordScreen.js +20 -0
  156. package/lib/commonjs/ui/screens/SignInPasswordScreen.js.map +1 -0
  157. package/lib/commonjs/ui/screens/UserListScreen.js +3 -3
  158. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  159. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +1 -1
  160. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  161. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +25 -17
  162. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  163. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
  164. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  165. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +8 -14
  166. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  167. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +11 -9
  168. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  169. package/lib/commonjs/ui/session/authStore.js +4 -4
  170. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  171. package/lib/commonjs/ui/session/backgroundSession.js +5 -40
  172. package/lib/commonjs/ui/session/backgroundSession.js.map +1 -1
  173. package/lib/commonjs/ui/session/createSessionClient.js +3 -3
  174. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  175. package/lib/commonjs/ui/session/deviceCredentialTracker.js +42 -0
  176. package/lib/commonjs/ui/session/deviceCredentialTracker.js.map +1 -0
  177. package/lib/commonjs/ui/session/identityBinding.js +3 -3
  178. package/lib/commonjs/ui/session/identityBinding.js.map +1 -1
  179. package/lib/commonjs/ui/session/index.js +6 -6
  180. package/lib/commonjs/ui/session/index.js.map +1 -1
  181. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js +2 -2
  182. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  183. package/lib/commonjs/ui/session/tokenTransport.js +3 -3
  184. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  185. package/lib/commonjs/ui/stores/assetStore.js +12 -0
  186. package/lib/commonjs/ui/stores/assetStore.js.map +1 -1
  187. package/lib/commonjs/ui/stores/followStore.js +6 -6
  188. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  189. package/lib/commonjs/ui/utils/accountDeletionHandoff.js +1 -4
  190. package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
  191. package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
  192. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  193. package/lib/commonjs/ui/utils/deviceCredential.js +11 -4
  194. package/lib/commonjs/ui/utils/deviceCredential.js.map +1 -1
  195. package/lib/commonjs/ui/utils/fileManagement.js +0 -10
  196. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  197. package/lib/commonjs/ui/utils/sessionHelpers.js +2 -2
  198. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  199. package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  200. package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  201. package/lib/module/assets/assets/fonts/icons/manifest.json +5 -21
  202. package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  203. package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  204. package/lib/module/assets/fonts/icons/manifest.json +5 -21
  205. package/lib/module/index.js +6 -6
  206. package/lib/module/index.js.map +1 -1
  207. package/lib/module/ui/boot/runProviderColdBoot.js +2 -1
  208. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  209. package/lib/module/ui/components/OxyAccountDialogScreen.js +2 -3
  210. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  211. package/lib/module/ui/components/OxyAuthChooser.js +15 -32
  212. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  213. package/lib/module/ui/components/OxySignInButton.js +1 -1
  214. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  215. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
  216. package/lib/module/ui/components/ProfileButton.js +1 -1
  217. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  218. package/lib/module/ui/components/authChooser/AccountsMenuView.js +1 -1
  219. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  220. package/lib/module/ui/components/authChooser/SignInRequestView.js +6 -17
  221. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -1
  222. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +1 -1
  223. package/lib/module/ui/components/authChooser/primitives.js +2 -103
  224. package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
  225. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
  226. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -1
  227. package/lib/module/ui/components/authChooser/styles.js +0 -33
  228. package/lib/module/ui/components/authChooser/styles.js.map +1 -1
  229. package/lib/module/ui/components/authChooser/types.js +0 -8
  230. package/lib/module/ui/components/authChooser/types.js.map +1 -1
  231. package/lib/module/ui/components/signIn/InlineCommonsQr.js +1 -1
  232. package/lib/module/ui/components/signIn/OxyAccountPicker.js +155 -58
  233. package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  234. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js +321 -0
  235. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
  236. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js +54 -58
  237. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  238. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
  239. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  240. package/lib/module/ui/components/signIn/OxyPasswordPanel.js +136 -0
  241. package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
  242. package/lib/module/ui/components/signIn/OxySignInPanel.js +496 -201
  243. package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -1
  244. package/lib/module/ui/components/signIn/OxySignUpPanel.js +212 -43
  245. package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  246. package/lib/module/ui/components/signIn/ReauthStep.js +181 -0
  247. package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -0
  248. package/lib/module/ui/components/signIn/accountFlowParts.js +97 -26
  249. package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
  250. package/lib/module/ui/components/signIn/signInFlowStore.js +44 -0
  251. package/lib/module/ui/components/signIn/signInFlowStore.js.map +1 -0
  252. package/lib/module/ui/components/signIn/signInMethods.js +11 -25
  253. package/lib/module/ui/components/signIn/signInMethods.js.map +1 -1
  254. package/lib/module/ui/context/OxyContext.js +121 -115
  255. package/lib/module/ui/context/OxyContext.js.map +1 -1
  256. package/lib/module/ui/context/hooks/useAuthOperations.js +7 -7
  257. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  258. package/lib/module/ui/context/useOxyAccountGraph.js +4 -4
  259. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  260. package/lib/module/ui/hooks/mutations/mutationFactory.js +1 -1
  261. package/lib/module/ui/hooks/mutations/useAccountMutations.js +19 -9
  262. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  263. package/lib/module/ui/hooks/mutations/useServicesMutations.js +4 -4
  264. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  265. package/lib/module/ui/hooks/queries/queryKeys.js +23 -3
  266. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  267. package/lib/module/ui/hooks/queries/useAccountQueries.js +8 -8
  268. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  269. package/lib/module/ui/hooks/queries/useAuthMethods.js +25 -14
  270. package/lib/module/ui/hooks/queries/useAuthMethods.js.map +1 -1
  271. package/lib/module/ui/hooks/queries/useFileQueries.js +5 -2
  272. package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
  273. package/lib/module/ui/hooks/queries/usePaymentQueries.js +8 -8
  274. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  275. package/lib/module/ui/hooks/queries/useSecurityQueries.js +4 -3
  276. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  277. package/lib/module/ui/hooks/queries/useServicesQueries.js +6 -6
  278. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  279. package/lib/module/ui/hooks/useAssets.js +36 -20
  280. package/lib/module/ui/hooks/useAssets.js.map +1 -1
  281. package/lib/module/ui/hooks/useAvatarPicker.js +6 -4
  282. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  283. package/lib/module/ui/hooks/useDeviceManagement.js +4 -4
  284. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -1
  285. package/lib/module/ui/hooks/useDeviceSwitcher.js +2 -2
  286. package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
  287. package/lib/module/ui/hooks/useFileDownloadUrl.js +1 -4
  288. package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
  289. package/lib/module/ui/hooks/useFollow.js +2 -2
  290. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  291. package/lib/module/ui/hooks/useFollowTarget.js +5 -5
  292. package/lib/module/ui/hooks/useFollowTarget.js.map +1 -1
  293. package/lib/module/ui/hooks/useI18n.js +6 -3
  294. package/lib/module/ui/hooks/useI18n.js.map +1 -1
  295. package/lib/module/ui/hooks/useResolvedFileUrls.js +2 -2
  296. package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -1
  297. package/lib/module/ui/hooks/useSessionManagement.js +3 -3
  298. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  299. package/lib/module/ui/icons/subsetGlyphMaps.js +0 -16
  300. package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
  301. package/lib/module/ui/navigation/routes.js +6 -4
  302. package/lib/module/ui/navigation/routes.js.map +1 -1
  303. package/lib/module/ui/navigation/surfaceRegistry.js +1 -1
  304. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  305. package/lib/module/ui/oauth/browserBridge.js +239 -0
  306. package/lib/module/ui/oauth/browserBridge.js.map +1 -0
  307. package/lib/module/ui/oauth/completeOAuthCode.js +1 -1
  308. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -1
  309. package/lib/module/ui/oauth/explicitOAuthConsent.js +1 -1
  310. package/lib/module/ui/oauth/explicitOAuthConsent.js.map +1 -1
  311. package/lib/module/ui/runtime/createOxyRuntime.js +4 -3
  312. package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
  313. package/lib/module/ui/runtime/runtimeContext.js.map +1 -1
  314. package/lib/module/ui/screens/AccountMembersScreen.js +7 -7
  315. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  316. package/lib/module/ui/screens/AccountSecurityPanelScreen.js +32 -0
  317. package/lib/module/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
  318. package/lib/module/ui/screens/AccountSettingsScreen.js +3 -3
  319. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  320. package/lib/module/ui/screens/AccountVerificationScreen.js +1 -1
  321. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  322. package/lib/module/ui/screens/AppInfoScreen.js +5 -5
  323. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  324. package/lib/module/ui/screens/AvatarCropScreen.js +3 -3
  325. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  326. package/lib/module/ui/screens/ChangeAvatarScreen.js +1 -1
  327. package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
  328. package/lib/module/ui/screens/CreateAccountScreen.js +1 -1
  329. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  330. package/lib/module/ui/screens/DeleteAccountScreen.js +17 -0
  331. package/lib/module/ui/screens/DeleteAccountScreen.js.map +1 -0
  332. package/lib/module/ui/screens/DomainsScreen.js +212 -0
  333. package/lib/module/ui/screens/DomainsScreen.js.map +1 -0
  334. package/lib/module/ui/screens/EditProfileScreen.js +1 -1
  335. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  336. package/lib/module/ui/screens/FileManagementScreen.js +25 -11
  337. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  338. package/lib/module/ui/screens/HelpSupportScreen.js +1 -17
  339. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  340. package/lib/module/ui/screens/LinkCommonsScreen.js +12 -0
  341. package/lib/module/ui/screens/LinkCommonsScreen.js.map +1 -0
  342. package/lib/module/ui/screens/ManageAccountScreen.js +58 -62
  343. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  344. package/lib/module/ui/screens/PrivacySettingsScreen.js +53 -63
  345. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  346. package/lib/module/ui/screens/ProfileScreen.js +5 -13
  347. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  348. package/lib/module/ui/screens/SearchSettingsScreen.js +16 -25
  349. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  350. package/lib/module/ui/screens/SignInAuthenticatorScreen.js +12 -0
  351. package/lib/module/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
  352. package/lib/module/ui/screens/SignInPasswordScreen.js +18 -0
  353. package/lib/module/ui/screens/SignInPasswordScreen.js.map +1 -0
  354. package/lib/module/ui/screens/UserListScreen.js +3 -3
  355. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  356. package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
  357. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  358. package/lib/module/ui/screens/trust/TrustCenterScreen.js +26 -18
  359. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  360. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
  361. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  362. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +9 -15
  363. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  364. package/lib/module/ui/screens/trust/TrustRulesScreen.js +12 -10
  365. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  366. package/lib/module/ui/session/authStore.js +1 -1
  367. package/lib/module/ui/session/authStore.js.map +1 -1
  368. package/lib/module/ui/session/backgroundSession.js +5 -40
  369. package/lib/module/ui/session/backgroundSession.js.map +1 -1
  370. package/lib/module/ui/session/createSessionClient.js +1 -1
  371. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  372. package/lib/module/ui/session/deviceCredentialTracker.js +38 -0
  373. package/lib/module/ui/session/deviceCredentialTracker.js.map +1 -0
  374. package/lib/module/ui/session/identityBinding.js +1 -1
  375. package/lib/module/ui/session/identityBinding.js.map +1 -1
  376. package/lib/module/ui/session/index.js +1 -1
  377. package/lib/module/ui/session/index.js.map +1 -1
  378. package/lib/module/ui/session/sharedDeviceCredentialStore.js +1 -1
  379. package/lib/module/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  380. package/lib/module/ui/session/tokenTransport.js +3 -3
  381. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  382. package/lib/module/ui/stores/assetStore.js +12 -0
  383. package/lib/module/ui/stores/assetStore.js.map +1 -1
  384. package/lib/module/ui/stores/followStore.js +6 -6
  385. package/lib/module/ui/stores/followStore.js.map +1 -1
  386. package/lib/module/ui/utils/accountDeletionHandoff.js +2 -5
  387. package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
  388. package/lib/module/ui/utils/avatarUtils.js +1 -1
  389. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  390. package/lib/module/ui/utils/deviceCredential.js +10 -3
  391. package/lib/module/ui/utils/deviceCredential.js.map +1 -1
  392. package/lib/module/ui/utils/fileManagement.js +0 -9
  393. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  394. package/lib/module/ui/utils/sessionHelpers.js +2 -2
  395. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  396. package/lib/typescript/commonjs/index.d.ts +5 -5
  397. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +3 -2
  399. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  400. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts +2 -3
  401. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +7 -7
  403. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +2 -1
  405. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  406. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
  407. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +3 -4
  409. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
  411. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +1 -34
  412. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
  413. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +2 -1
  414. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  415. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
  416. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +2 -1
  418. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -1
  419. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts +0 -33
  420. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -1
  421. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +1 -12
  422. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
  424. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  425. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts +10 -4
  426. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  427. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
  428. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
  429. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
  430. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
  432. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
  434. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
  435. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts +21 -19
  436. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
  438. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  439. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts +34 -0
  440. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts +38 -12
  442. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  443. package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts +20 -0
  444. package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
  445. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts +8 -21
  446. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts.map +1 -1
  447. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +2 -1
  449. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  450. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +4 -39
  451. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +2 -1
  453. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  454. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +1 -1
  455. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  456. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  457. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
  458. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
  460. package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +19 -1
  462. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts +13 -20
  464. package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +1 -1
  466. package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  467. package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
  468. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +3 -5
  470. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +5 -5
  472. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +1 -1
  474. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts +1 -1
  475. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  477. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +1 -1
  478. package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts.map +1 -1
  479. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts +9 -7
  480. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  481. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
  482. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
  483. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  484. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  485. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +0 -16
  486. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  487. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +1 -1
  488. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  489. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  490. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  491. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +7 -5
  492. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  493. package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts +97 -0
  494. package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts.map +1 -0
  495. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts +6 -2
  496. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  497. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts +2 -1
  498. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts.map +1 -1
  499. package/lib/typescript/commonjs/ui/runtime/types.d.ts +2 -1
  500. package/lib/typescript/commonjs/ui/runtime/types.d.ts.map +1 -1
  501. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
  502. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
  503. package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts +6 -0
  504. package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
  505. package/lib/typescript/commonjs/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
  506. package/lib/typescript/commonjs/ui/screens/DomainsScreen.d.ts.map +1 -0
  507. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  508. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  509. package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts +6 -0
  510. package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
  511. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  512. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  513. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  514. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  515. package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
  516. package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
  517. package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts +6 -0
  518. package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
  519. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  520. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  521. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  522. package/lib/typescript/commonjs/ui/session/authStore.d.ts +1 -1
  523. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  524. package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts +3 -4
  525. package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts.map +1 -1
  526. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +2 -1
  527. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  528. package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts +23 -0
  529. package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts.map +1 -0
  530. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +1 -1
  531. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -1
  532. package/lib/typescript/commonjs/ui/session/index.d.ts +1 -1
  533. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  534. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +1 -1
  535. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -1
  536. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
  537. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  538. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +3 -2
  539. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  540. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts +7 -0
  541. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
  542. package/lib/typescript/commonjs/ui/types/navigation.d.ts +1 -1
  543. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  544. package/lib/typescript/commonjs/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  545. package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts +10 -3
  546. package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts.map +1 -1
  547. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -5
  548. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  549. package/lib/typescript/module/index.d.ts +5 -5
  550. package/lib/typescript/module/index.d.ts.map +1 -1
  551. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +3 -2
  552. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  553. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts +2 -3
  554. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  555. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +7 -7
  556. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  557. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +2 -1
  558. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  559. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
  560. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  561. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +3 -4
  562. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
  563. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
  564. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +1 -34
  565. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
  566. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +2 -1
  567. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  568. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
  569. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  570. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +2 -1
  571. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -1
  572. package/lib/typescript/module/ui/components/authChooser/styles.d.ts +0 -33
  573. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -1
  574. package/lib/typescript/module/ui/components/authChooser/types.d.ts +1 -12
  575. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
  576. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
  577. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  578. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts +10 -4
  579. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  580. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
  581. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
  582. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
  583. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  584. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
  585. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  586. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
  587. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
  588. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts +21 -19
  589. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  590. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
  591. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  592. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts +34 -0
  593. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -0
  594. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts +38 -12
  595. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  596. package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts +20 -0
  597. package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
  598. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts +8 -21
  599. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts.map +1 -1
  600. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  601. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +2 -1
  602. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  603. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +4 -39
  604. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  605. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +2 -1
  606. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  607. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +1 -1
  608. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  609. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  610. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
  611. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  612. package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
  613. package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  614. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +19 -1
  615. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  616. package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts +13 -20
  617. package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
  618. package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +1 -1
  619. package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  620. package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
  621. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  622. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +3 -5
  623. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  624. package/lib/typescript/module/ui/hooks/useAssets.d.ts +5 -5
  625. package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
  626. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +1 -1
  627. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts +1 -1
  628. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  629. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  630. package/lib/typescript/module/ui/hooks/useFollow.d.ts +1 -1
  631. package/lib/typescript/module/ui/hooks/useI18n.d.ts.map +1 -1
  632. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts +9 -7
  633. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  634. package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
  635. package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
  636. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  637. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  638. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +0 -16
  639. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  640. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +1 -1
  641. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  642. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  643. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  644. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +7 -5
  645. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  646. package/lib/typescript/module/ui/oauth/browserBridge.d.ts +97 -0
  647. package/lib/typescript/module/ui/oauth/browserBridge.d.ts.map +1 -0
  648. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts +6 -2
  649. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  650. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts +2 -1
  651. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts.map +1 -1
  652. package/lib/typescript/module/ui/runtime/types.d.ts +2 -1
  653. package/lib/typescript/module/ui/runtime/types.d.ts.map +1 -1
  654. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
  655. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
  656. package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts +6 -0
  657. package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
  658. package/lib/typescript/module/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
  659. package/lib/typescript/module/ui/screens/DomainsScreen.d.ts.map +1 -0
  660. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  661. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  662. package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts +6 -0
  663. package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
  664. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  665. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  666. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  667. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  668. package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
  669. package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
  670. package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts +6 -0
  671. package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
  672. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  673. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  674. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  675. package/lib/typescript/module/ui/session/authStore.d.ts +1 -1
  676. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  677. package/lib/typescript/module/ui/session/backgroundSession.d.ts +3 -4
  678. package/lib/typescript/module/ui/session/backgroundSession.d.ts.map +1 -1
  679. package/lib/typescript/module/ui/session/createSessionClient.d.ts +2 -1
  680. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  681. package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts +23 -0
  682. package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts.map +1 -0
  683. package/lib/typescript/module/ui/session/identityBinding.d.ts +1 -1
  684. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -1
  685. package/lib/typescript/module/ui/session/index.d.ts +1 -1
  686. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  687. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +1 -1
  688. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -1
  689. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
  690. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  691. package/lib/typescript/module/ui/session/tokenTransport.d.ts +3 -2
  692. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  693. package/lib/typescript/module/ui/stores/assetStore.d.ts +7 -0
  694. package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
  695. package/lib/typescript/module/ui/types/navigation.d.ts +1 -1
  696. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  697. package/lib/typescript/module/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  698. package/lib/typescript/module/ui/utils/deviceCredential.d.ts +10 -3
  699. package/lib/typescript/module/ui/utils/deviceCredential.d.ts.map +1 -1
  700. package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -5
  701. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  702. package/package.json +4 -5
  703. package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  704. package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  705. package/src/assets/fonts/icons/manifest.json +5 -21
  706. package/src/index.ts +8 -8
  707. package/src/ui/boot/__tests__/coldBootNoIdpRedirect.test.ts +4 -4
  708. package/src/ui/boot/runProviderColdBoot.ts +3 -9
  709. package/src/ui/components/OxyAccountDialogScreen.tsx +2 -3
  710. package/src/ui/components/OxyAuthChooser.tsx +13 -36
  711. package/src/ui/components/OxySignInButton.tsx +1 -1
  712. package/src/ui/components/OxySignInRequestSurface.tsx +2 -1
  713. package/src/ui/components/ProfileButton.tsx +1 -1
  714. package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -6
  715. package/src/ui/components/authChooser/SignInRequestView.tsx +5 -23
  716. package/src/ui/components/authChooser/TroubleDisclosure.tsx +1 -1
  717. package/src/ui/components/authChooser/primitives.tsx +2 -96
  718. package/src/ui/components/authChooser/requestSurfaces.tsx +2 -1
  719. package/src/ui/components/authChooser/signInFailureMessage.ts +1 -1
  720. package/src/ui/components/authChooser/signInProgress.ts +2 -1
  721. package/src/ui/components/authChooser/styles.ts +0 -33
  722. package/src/ui/components/authChooser/types.ts +1 -13
  723. package/src/ui/components/signIn/InlineCommonsQr.tsx +2 -2
  724. package/src/ui/components/signIn/OxyAccountPicker.tsx +131 -66
  725. package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +294 -0
  726. package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +48 -61
  727. package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +43 -35
  728. package/src/ui/components/signIn/OxyPasswordPanel.tsx +117 -0
  729. package/src/ui/components/signIn/OxySignInPanel.tsx +534 -214
  730. package/src/ui/components/signIn/OxySignUpPanel.tsx +186 -56
  731. package/src/ui/components/signIn/ReauthStep.tsx +201 -0
  732. package/src/ui/components/signIn/accountFlowParts.tsx +139 -33
  733. package/src/ui/components/signIn/signInFlowStore.ts +41 -0
  734. package/src/ui/components/signIn/signInMethods.ts +10 -29
  735. package/src/ui/context/OxyContext.tsx +124 -145
  736. package/src/ui/context/hooks/useAuthOperations.ts +9 -8
  737. package/src/ui/context/oxyContextTypes.ts +4 -41
  738. package/src/ui/context/useOxyAccountGraph.ts +6 -5
  739. package/src/ui/hooks/accountDialogSnapshot.ts +1 -1
  740. package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
  741. package/src/ui/hooks/mutations/useAccountMutations.ts +11 -10
  742. package/src/ui/hooks/mutations/useServicesMutations.ts +4 -4
  743. package/src/ui/hooks/queries/queryKeys.ts +26 -2
  744. package/src/ui/hooks/queries/useAccountQueries.ts +8 -8
  745. package/src/ui/hooks/queries/useAuthMethods.ts +22 -19
  746. package/src/ui/hooks/queries/useFileQueries.ts +2 -2
  747. package/src/ui/hooks/queries/usePaymentQueries.ts +8 -8
  748. package/src/ui/hooks/queries/useSecurityQueries.ts +4 -3
  749. package/src/ui/hooks/queries/useServicesQueries.ts +6 -6
  750. package/src/ui/hooks/useAssets.ts +26 -31
  751. package/src/ui/hooks/useAvatarPicker.ts +4 -4
  752. package/src/ui/hooks/useDeviceManagement.ts +4 -4
  753. package/src/ui/hooks/useDeviceSwitcher.ts +2 -7
  754. package/src/ui/hooks/useFileDownloadUrl.ts +1 -5
  755. package/src/ui/hooks/useFollow.ts +2 -2
  756. package/src/ui/hooks/useFollowTarget.ts +5 -5
  757. package/src/ui/hooks/useI18n.ts +6 -3
  758. package/src/ui/hooks/useResolvedFileUrls.ts +8 -6
  759. package/src/ui/hooks/useSessionManagement.ts +3 -3
  760. package/src/ui/icons/subsetGlyphMaps.ts +0 -16
  761. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +1 -1
  762. package/src/ui/navigation/accountDialogManager.ts +1 -1
  763. package/src/ui/navigation/routes.ts +11 -8
  764. package/src/ui/navigation/surfaceRegistry.ts +8 -6
  765. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +8 -8
  766. package/src/ui/oauth/__tests__/browserBridge.test.ts +198 -0
  767. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +1 -1
  768. package/src/ui/oauth/__tests__/explicitOAuthConsent.test.ts +11 -11
  769. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +7 -7
  770. package/src/ui/oauth/browserBridge.ts +234 -0
  771. package/src/ui/oauth/completeOAuthCode.ts +1 -1
  772. package/src/ui/oauth/explicitOAuthConsent.ts +1 -1
  773. package/src/ui/runtime/createOxyRuntime.ts +8 -16
  774. package/src/ui/runtime/runtimeContext.tsx +2 -1
  775. package/src/ui/runtime/types.ts +2 -1
  776. package/src/ui/screens/AccountMembersScreen.tsx +7 -7
  777. package/src/ui/screens/AccountSecurityPanelScreen.tsx +26 -0
  778. package/src/ui/screens/AccountSettingsScreen.tsx +3 -3
  779. package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
  780. package/src/ui/screens/AppInfoScreen.tsx +5 -5
  781. package/src/ui/screens/AvatarCropScreen.tsx +3 -3
  782. package/src/ui/screens/ChangeAvatarScreen.tsx +1 -1
  783. package/src/ui/screens/CreateAccountScreen.tsx +1 -1
  784. package/src/ui/screens/DeleteAccountScreen.tsx +13 -0
  785. package/src/ui/screens/DomainsScreen.tsx +187 -0
  786. package/src/ui/screens/EditProfileScreen.tsx +1 -1
  787. package/src/ui/screens/FileManagementScreen.tsx +15 -21
  788. package/src/ui/screens/HelpSupportScreen.tsx +0 -15
  789. package/src/ui/screens/LinkCommonsScreen.tsx +13 -0
  790. package/src/ui/screens/ManageAccountScreen.tsx +47 -82
  791. package/src/ui/screens/PrivacySettingsScreen.tsx +48 -67
  792. package/src/ui/screens/ProfileScreen.tsx +5 -10
  793. package/src/ui/screens/SearchSettingsScreen.tsx +15 -27
  794. package/src/ui/screens/SignInAuthenticatorScreen.tsx +13 -0
  795. package/src/ui/screens/SignInPasswordScreen.tsx +13 -0
  796. package/src/ui/screens/UserListScreen.tsx +3 -3
  797. package/src/ui/screens/WelcomeNewUserScreen.tsx +1 -1
  798. package/src/ui/screens/trust/TrustCenterScreen.tsx +25 -29
  799. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +2 -2
  800. package/src/ui/screens/trust/TrustRewardsScreen.tsx +9 -19
  801. package/src/ui/screens/trust/TrustRulesScreen.tsx +14 -14
  802. package/src/ui/session/__tests__/authStore.test.ts +1 -1
  803. package/src/ui/session/__tests__/backgroundSession.test.ts +2 -61
  804. package/src/ui/session/__tests__/createSessionClient.test.ts +7 -9
  805. package/src/ui/session/__tests__/sharedDeviceCredentialStore.test.ts +1 -1
  806. package/src/ui/session/__tests__/tokenTransport.test.ts +9 -7
  807. package/src/ui/session/authStore.ts +1 -7
  808. package/src/ui/session/backgroundSession.ts +5 -41
  809. package/src/ui/session/createSessionClient.ts +2 -6
  810. package/src/ui/session/deviceCredentialTracker.ts +49 -0
  811. package/src/ui/session/identityBinding.ts +1 -6
  812. package/src/ui/session/index.ts +1 -1
  813. package/src/ui/session/nativeSecureStorage.ts +1 -1
  814. package/src/ui/session/sharedDeviceCredentialStore.ts +1 -6
  815. package/src/ui/session/tokenTransport.ts +5 -4
  816. package/src/ui/stores/__tests__/followStore.test.ts +13 -15
  817. package/src/ui/stores/assetStore.ts +15 -0
  818. package/src/ui/stores/followStore.ts +7 -7
  819. package/src/ui/types/navigation.ts +2 -1
  820. package/src/ui/utils/accountDeletionHandoff.ts +2 -4
  821. package/src/ui/utils/avatarUtils.ts +1 -1
  822. package/src/ui/utils/deviceCredential.ts +11 -4
  823. package/src/ui/utils/fileManagement.ts +0 -12
  824. package/src/ui/utils/sessionHelpers.ts +2 -2
  825. package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js +0 -236
  826. package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
  827. package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js +0 -170
  828. package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
  829. package/lib/commonjs/ui/components/signIn/passkeyError.js +0 -46
  830. package/lib/commonjs/ui/components/signIn/passkeyError.js.map +0 -1
  831. package/lib/commonjs/ui/context/passkeyFlow.js +0 -114
  832. package/lib/commonjs/ui/context/passkeyFlow.js.map +0 -1
  833. package/lib/commonjs/ui/screens/FAQScreen.js +0 -162
  834. package/lib/commonjs/ui/screens/FAQScreen.js.map +0 -1
  835. package/lib/commonjs/ui/screens/FeedbackScreen.js +0 -601
  836. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +0 -1
  837. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +0 -968
  838. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
  839. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +0 -132
  840. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +0 -1
  841. package/lib/commonjs/webauthn/passkeyClient.js +0 -39
  842. package/lib/commonjs/webauthn/passkeyClient.js.map +0 -1
  843. package/lib/commonjs/webauthn/passkeyClient.native.js +0 -34
  844. package/lib/commonjs/webauthn/passkeyClient.native.js.map +0 -1
  845. package/lib/commonjs/webauthn/passkeyClient.web.js +0 -57
  846. package/lib/commonjs/webauthn/passkeyClient.web.js.map +0 -1
  847. package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js +0 -231
  848. package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
  849. package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js +0 -165
  850. package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
  851. package/lib/module/ui/components/signIn/passkeyError.js +0 -40
  852. package/lib/module/ui/components/signIn/passkeyError.js.map +0 -1
  853. package/lib/module/ui/context/passkeyFlow.js +0 -107
  854. package/lib/module/ui/context/passkeyFlow.js.map +0 -1
  855. package/lib/module/ui/screens/FAQScreen.js +0 -157
  856. package/lib/module/ui/screens/FAQScreen.js.map +0 -1
  857. package/lib/module/ui/screens/FeedbackScreen.js +0 -599
  858. package/lib/module/ui/screens/FeedbackScreen.js.map +0 -1
  859. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +0 -963
  860. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
  861. package/lib/module/ui/screens/SavesCollectionsScreen.js +0 -127
  862. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +0 -1
  863. package/lib/module/webauthn/passkeyClient.js +0 -33
  864. package/lib/module/webauthn/passkeyClient.js.map +0 -1
  865. package/lib/module/webauthn/passkeyClient.native.js +0 -28
  866. package/lib/module/webauthn/passkeyClient.native.js.map +0 -1
  867. package/lib/module/webauthn/passkeyClient.web.js +0 -52
  868. package/lib/module/webauthn/passkeyClient.web.js.map +0 -1
  869. package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
  870. package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
  871. package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
  872. package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
  873. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts +0 -16
  874. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts.map +0 -1
  875. package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts +0 -92
  876. package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts.map +0 -1
  877. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts +0 -5
  878. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +0 -1
  879. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts +0 -5
  880. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +0 -1
  881. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
  882. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
  883. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
  884. package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts +0 -20
  885. package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts.map +0 -1
  886. package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts +0 -15
  887. package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts.map +0 -1
  888. package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts +0 -36
  889. package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts.map +0 -1
  890. package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
  891. package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
  892. package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
  893. package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
  894. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts +0 -16
  895. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts.map +0 -1
  896. package/lib/typescript/module/ui/context/passkeyFlow.d.ts +0 -92
  897. package/lib/typescript/module/ui/context/passkeyFlow.d.ts.map +0 -1
  898. package/lib/typescript/module/ui/screens/FAQScreen.d.ts +0 -5
  899. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +0 -1
  900. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +0 -5
  901. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +0 -1
  902. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
  903. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
  904. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
  905. package/lib/typescript/module/webauthn/passkeyClient.d.ts +0 -20
  906. package/lib/typescript/module/webauthn/passkeyClient.d.ts.map +0 -1
  907. package/lib/typescript/module/webauthn/passkeyClient.native.d.ts +0 -15
  908. package/lib/typescript/module/webauthn/passkeyClient.native.d.ts.map +0 -1
  909. package/lib/typescript/module/webauthn/passkeyClient.web.d.ts +0 -36
  910. package/lib/typescript/module/webauthn/passkeyClient.web.d.ts.map +0 -1
  911. package/src/ui/components/signIn/OxyCreateAccountPanel.tsx +0 -207
  912. package/src/ui/components/signIn/OxyRecoverAccountPanel.tsx +0 -154
  913. package/src/ui/components/signIn/passkeyError.ts +0 -44
  914. package/src/ui/context/__tests__/passkeyFlow.test.ts +0 -239
  915. package/src/ui/context/passkeyFlow.ts +0 -145
  916. package/src/ui/screens/FAQScreen.tsx +0 -200
  917. package/src/ui/screens/FeedbackScreen.tsx +0 -766
  918. package/src/ui/screens/PremiumSubscriptionScreen.tsx +0 -1103
  919. package/src/ui/screens/SavesCollectionsScreen.tsx +0 -167
  920. package/src/webauthn/passkeyClient.native.ts +0 -26
  921. package/src/webauthn/passkeyClient.ts +0 -31
  922. package/src/webauthn/passkeyClient.web.ts +0 -56
@@ -1,154 +0,0 @@
1
- /**
2
- * Recovering a passkey account (ADR 0029 D3), auth.oxy.so's `/recover`:
3
- *
4
- * username or email → the code sent to the recovery email → new passkey → signed in
5
- *
6
- * The first step answers the same whether or not the account exists, so it
7
- * never says who has one. An account that uses Commons has no recovery email:
8
- * it recovers in Commons with its phrase, and the first step says so. The new
9
- * passkey joins the ones the account has; lost ones are removed afterwards in
10
- * the account's security settings.
11
- */
12
-
13
- import type React from 'react';
14
- import { useState } from 'react';
15
- import { useTheme } from '@oxy.so/bloom/theme';
16
- import { DeviceManager } from '@oxy.so/core';
17
- import { useOxy } from '../../context/OxyContext';
18
- import { runPasskeyRegisterSignIn } from '../../context/passkeyFlow';
19
- import { useI18n } from '../../hooks/useI18n';
20
- import { isPasskeySupported, runRegistrationCeremony } from '../../../webauthn/passkeyClient';
21
- import { SubtleLink } from '../authChooser/primitives';
22
- import { OxyAuthScreen, OxyAuthScreenHeader, OxyAuthTerms } from './OxyAuthScreen';
23
- import {
24
- AccountFlowAction,
25
- AccountFlowErrorLine,
26
- AccountFlowField,
27
- AccountFlowNote,
28
- EmailCodeStep,
29
- describeAccountFlowError,
30
- isTicketExpired,
31
- } from './accountFlowParts';
32
-
33
- type Step =
34
- | { name: 'entry' }
35
- | { name: 'code'; verificationId: string }
36
- | { name: 'passkey'; recoveryTicket: string; username: string | null };
37
-
38
- export interface OxyRecoverAccountPanelProps {
39
- /** The account has a new passkey and this origin is signed in as it. */
40
- onRecovered: () => void;
41
- /** "Back to sign in". */
42
- onSignIn: () => void;
43
- }
44
-
45
- export const OxyRecoverAccountPanel: React.FC<OxyRecoverAccountPanelProps> = ({ onRecovered, onSignIn }) => {
46
- const theme = useTheme();
47
- const { t } = useI18n();
48
- const { oxyServices, handleWebSession } = useOxy();
49
- const [step, setStep] = useState<Step>({ name: 'entry' });
50
- const [identifier, setIdentifier] = useState('');
51
- const [pending, setPending] = useState(false);
52
- const [error, setError] = useState<string | null>(null);
53
-
54
- const run = (work: () => Promise<void>) => {
55
- if (pending) return;
56
- setError(null);
57
- setPending(true);
58
- work()
59
- .catch((reason: unknown) => {
60
- if (isTicketExpired(reason)) setStep({ name: 'entry' });
61
- setError(describeAccountFlowError(reason, t));
62
- })
63
- .finally(() => setPending(false));
64
- };
65
-
66
- const sendCode = async () => {
67
- const { verificationId } = await oxyServices.startEmailVerification({ purpose: 'recovery', identifier: identifier.trim() });
68
- setStep({ name: 'code', verificationId });
69
- };
70
-
71
- const submitIdentifier = () => {
72
- if (!identifier.trim()) {
73
- setError(t('recover.identifier.required'));
74
- return;
75
- }
76
- run(sendCode);
77
- };
78
-
79
- // The ceremony opens the browser's passkey prompt, so it starts from the press.
80
- const addPasskey = (recoveryTicket: string) =>
81
- run(() =>
82
- runPasskeyRegisterSignIn({
83
- isSupported: isPasskeySupported,
84
- getRegisterOptions: () => oxyServices.webauthnRegisterOptions({ recoveryTicket }),
85
- runCeremony: runRegistrationCeremony,
86
- registerVerify: (response) =>
87
- oxyServices.webauthnRegisterVerify(response, {
88
- recoveryTicket,
89
- deviceFingerprint: JSON.stringify(DeviceManager.getDeviceFingerprint()),
90
- }),
91
- commit: async (session) => {
92
- await handleWebSession(session);
93
- onRecovered();
94
- },
95
- }),
96
- );
97
-
98
- switch (step.name) {
99
- case 'code':
100
- return (
101
- <EmailCodeStep
102
- description={t('emailCode.sentIfAccount')}
103
- verificationId={step.verificationId}
104
- onConfirmed={({ ticket, username }) => {
105
- setError(null);
106
- setStep({ name: 'passkey', recoveryTicket: ticket, username });
107
- }}
108
- onResend={sendCode}
109
- back={{ label: t('signin.actions.back'), onPress: () => setStep({ name: 'entry' }) }}
110
- />
111
- );
112
- case 'passkey':
113
- return (
114
- <OxyAuthScreen>
115
- <OxyAuthScreenHeader
116
- title={t('recover.passkey.title')}
117
- description={t('recover.passkey.subtitle', { username: step.username ?? '' })}
118
- />
119
- {error ? <AccountFlowErrorLine message={error} /> : null}
120
- <AccountFlowAction
121
- label={t('recover.passkey.action')}
122
- onPress={() => addPasskey(step.recoveryTicket)}
123
- pending={pending}
124
- testID="recover-create-passkey"
125
- />
126
- <OxyAuthTerms />
127
- </OxyAuthScreen>
128
- );
129
- default:
130
- return (
131
- <OxyAuthScreen>
132
- <OxyAuthScreenHeader title={t('recover.title')} description={t('recover.subtitle')} />
133
- <AccountFlowField
134
- label={t('recover.identifier.label')}
135
- value={identifier}
136
- onChange={(value) => {
137
- setIdentifier(value);
138
- if (error) setError(null);
139
- }}
140
- onSubmit={submitIdentifier}
141
- error={error}
142
- disabled={pending}
143
- placeholder={t('recover.identifier.placeholder')}
144
- autoComplete="username"
145
- testID="recover-identifier"
146
- />
147
- <AccountFlowNote>{t('recover.commonsNote')}</AccountFlowNote>
148
- <AccountFlowAction label={t('signin.actions.continue')} onPress={submitIdentifier} pending={pending} testID="recover-continue" />
149
- <SubtleLink label={t('recover.backToSignIn')} theme={theme} onPress={onSignIn} testID="back-to-sign-in" />
150
- <OxyAuthTerms />
151
- </OxyAuthScreen>
152
- );
153
- }
154
- };
@@ -1,44 +0,0 @@
1
- /**
2
- * The message for a failed passkey sign-in, and whether it was rate-limited.
3
- *
4
- * A dismissed or timed-out browser prompt rejects with a `NotAllowedError` /
5
- * `AbortError` DOMException, often re-wrapped by `@simplewebauthn/browser` as a
6
- * `WebAuthnError` whose `cause` is the original — so the cancellation shape is
7
- * looked for along the cause chain, and reported calmly instead of as the raw
8
- * "The operation either timed out or was not allowed…".
9
- */
10
-
11
- import type { Translate } from '../authChooser/types';
12
-
13
- /** How long the surface waits after a 429 before it lets the person retry. */
14
- export const RATE_LIMIT_SECONDS = 60;
15
-
16
- function isCancellation(error: unknown): boolean {
17
- let current: unknown = error;
18
- for (let depth = 0; depth < 5 && current instanceof Error; depth += 1) {
19
- if (current.name === 'NotAllowedError' || current.name === 'AbortError') return true;
20
- // `@simplewebauthn/browser`'s stable code for an aborted ceremony.
21
- if ((current as { code?: unknown }).code === 'ERROR_CEREMONY_ABORTED') return true;
22
- current = (current as { cause?: unknown }).cause;
23
- }
24
- return false;
25
- }
26
-
27
- /** An HTTP status off a thrown SDK error (ApiError- or axios-shaped). */
28
- function errorStatus(error: unknown): number | undefined {
29
- return (
30
- (error as { status?: number } | undefined)?.status ??
31
- (error as { response?: { status?: number } } | undefined)?.response?.status
32
- );
33
- }
34
-
35
- export function isRateLimited(error: unknown): boolean {
36
- return errorStatus(error) === 429;
37
- }
38
-
39
- /** The inline message for a passkey ceremony that did not sign anyone in. */
40
- export function describePasskeyError(error: unknown, t: Translate): string {
41
- if (isCancellation(error)) return t('signin.errors.passkeyCancelled');
42
- if (error instanceof Error && error.message.trim().length > 0) return error.message;
43
- return t('signin.errors.passkeyFailed');
44
- }
@@ -1,239 +0,0 @@
1
- /**
2
- * `passkeyFlow` — the pure, deps-injected passkey (WebAuthn) orchestration that
3
- * backs `useOxy().signInWithPasskey` / `addPasskey`.
4
- *
5
- * These tests assert the fixed `options → ceremony → verify → commit` ordering,
6
- * the exact `commitSession` input projected from a session-arm login result, the
7
- * `isSupported()` gate, and the branch discipline (sign-in/register commit a
8
- * session; add links WITHOUT committing and fires `onLinked`) — the same
9
- * deps-injection style `commitSessionFlow.test.ts` uses.
10
- */
11
-
12
- import type { LoginSessionResult } from '@oxy.so/contracts';
13
- import {
14
- runPasskeyLogin,
15
- runPasskeyAdd,
16
- runPasskeyRegisterSignIn,
17
- PASSKEY_UNSUPPORTED_MESSAGE,
18
- type RunPasskeyLoginDeps,
19
- type RunPasskeyAddDeps,
20
- type PasskeyRegisterVerifyResult,
21
- } from '../passkeyFlow';
22
- import type { CommitInput } from '../oxyContextTypes';
23
-
24
- const SESSION_USER_ID = 'user_pk_1';
25
-
26
- /** A full session arm of the login contract (mirrors `webauthn*Verify`'s signup/login output). */
27
- const sessionResult: LoginSessionResult = {
28
- sessionId: 'sess_pk',
29
- deviceId: 'dev_pk',
30
- accessToken: 'pk.access.token',
31
- deviceSecret: 'pk.device.secret',
32
- expiresAt: new Date(Date.now() + 3_600_000).toISOString(),
33
- user: { id: SESSION_USER_ID, username: 'pkuser' },
34
- };
35
-
36
- /** The `commitSession` input the flow projects from `sessionResult`. */
37
- const expectedCommitInput: CommitInput = {
38
- sessionId: 'sess_pk',
39
- accessToken: 'pk.access.token',
40
- deviceSecret: 'pk.device.secret',
41
- deviceId: 'dev_pk',
42
- expiresAt: sessionResult.expiresAt,
43
- userId: SESSION_USER_ID,
44
- user: { id: SESSION_USER_ID, username: 'pkuser' },
45
- };
46
-
47
- const linkResult: PasskeyRegisterVerifyResult = { success: true, message: 'Passkey added' };
48
-
49
- describe('runPasskeyLogin', () => {
50
- const buildDeps = (
51
- order: string[],
52
- overrides: Partial<RunPasskeyLoginDeps> = {},
53
- ): RunPasskeyLoginDeps => ({
54
- isSupported: jest.fn(() => true),
55
- getLoginOptions: jest.fn(async () => {
56
- order.push('getLoginOptions');
57
- return { challenge: 'login-opts' };
58
- }),
59
- runCeremony: jest.fn(async (options) => {
60
- order.push('runCeremony');
61
- expect(options).toEqual({ challenge: 'login-opts' });
62
- return { id: 'assertion' };
63
- }),
64
- loginVerify: jest.fn(async () => {
65
- order.push('loginVerify');
66
- return sessionResult;
67
- }),
68
- commit: jest.fn(async () => {
69
- order.push('commit');
70
- }),
71
- deviceId: 'persisted-dev',
72
- deviceName: 'My Laptop',
73
- deviceFingerprint: 'fp-123',
74
- ...overrides,
75
- });
76
-
77
- it('drives options → ceremony → verify → commit and threads the device envelope', async () => {
78
- const order: string[] = [];
79
- const deps = buildDeps(order);
80
-
81
- await runPasskeyLogin(deps);
82
-
83
- expect(order).toEqual(['getLoginOptions', 'runCeremony', 'loginVerify', 'commit']);
84
- // The assertion response is forwarded to verify with the device envelope.
85
- expect(deps.loginVerify).toHaveBeenCalledWith(
86
- { id: 'assertion' },
87
- { deviceName: 'My Laptop', deviceFingerprint: 'fp-123', deviceId: 'persisted-dev' },
88
- );
89
- // The session arm is projected onto the exact commitSession input.
90
- expect(deps.commit).toHaveBeenCalledWith(expectedCommitInput);
91
- });
92
-
93
- it('forwards the username to getLoginOptions for the username-first (hardware-key) path', async () => {
94
- const order: string[] = [];
95
- const deps = buildDeps(order, { username: 'alice' });
96
-
97
- await runPasskeyLogin(deps);
98
-
99
- // The username scopes login options to that user's passkeys — the path a
100
- // non-discoverable U2F/security key needs.
101
- expect(deps.getLoginOptions).toHaveBeenCalledWith('alice');
102
- });
103
-
104
- it('passes undefined to getLoginOptions for the usernameless (discoverable) path', async () => {
105
- const order: string[] = [];
106
- const deps = buildDeps(order);
107
-
108
- await runPasskeyLogin(deps);
109
-
110
- // No username → discoverable-credential ceremony (server returns an empty allow-list).
111
- expect(deps.getLoginOptions).toHaveBeenCalledWith(undefined);
112
- });
113
-
114
- it('throws and touches nothing when passkeys are unsupported', async () => {
115
- const order: string[] = [];
116
- const deps = buildDeps(order, { isSupported: jest.fn(() => false) });
117
-
118
- await expect(runPasskeyLogin(deps)).rejects.toThrow(PASSKEY_UNSUPPORTED_MESSAGE);
119
- expect(deps.getLoginOptions).not.toHaveBeenCalled();
120
- expect(deps.commit).not.toHaveBeenCalled();
121
- });
122
- });
123
-
124
- describe('runPasskeyAdd', () => {
125
- const buildDeps = (
126
- order: string[],
127
- overrides: Partial<RunPasskeyAddDeps> = {},
128
- ): RunPasskeyAddDeps => ({
129
- isSupported: jest.fn(() => true),
130
- getRegisterOptions: jest.fn(async () => {
131
- order.push('getRegisterOptions');
132
- return { challenge: 'add-opts' };
133
- }),
134
- runCeremony: jest.fn(async () => {
135
- order.push('runCeremony');
136
- return { id: 'attestation' };
137
- }),
138
- registerVerify: jest.fn(async () => {
139
- order.push('registerVerify');
140
- return linkResult;
141
- }),
142
- onLinked: jest.fn(() => {
143
- order.push('onLinked');
144
- }),
145
- deviceName: 'My Laptop',
146
- ...overrides,
147
- });
148
-
149
- it('links the passkey WITHOUT committing a session and fires onLinked', async () => {
150
- const order: string[] = [];
151
- const deps = buildDeps(order);
152
-
153
- await runPasskeyAdd(deps);
154
-
155
- expect(order).toEqual(['getRegisterOptions', 'runCeremony', 'registerVerify', 'onLinked']);
156
- // Add requests options with NO username (bearer scopes it to the signed-in user).
157
- expect(deps.getRegisterOptions).toHaveBeenCalledWith();
158
- expect(deps.registerVerify).toHaveBeenCalledWith({ id: 'attestation' }, { deviceName: 'My Laptop' });
159
- expect(deps.onLinked).toHaveBeenCalledTimes(1);
160
- // There is no `commit` dependency at all — structurally cannot commit a session.
161
- expect('commit' in deps).toBe(false);
162
- });
163
-
164
- it('throws (no onLinked) if verify unexpectedly mints a session', async () => {
165
- const order: string[] = [];
166
- const deps = buildDeps(order, {
167
- registerVerify: jest.fn(async () => sessionResult),
168
- });
169
-
170
- await expect(runPasskeyAdd(deps)).rejects.toThrow(/instead of linking/i);
171
- expect(deps.onLinked).not.toHaveBeenCalled();
172
- });
173
-
174
- it('throws and touches nothing when passkeys are unsupported', async () => {
175
- const order: string[] = [];
176
- const deps = buildDeps(order, { isSupported: jest.fn(() => false) });
177
-
178
- await expect(runPasskeyAdd(deps)).rejects.toThrow(PASSKEY_UNSUPPORTED_MESSAGE);
179
- expect(deps.getRegisterOptions).not.toHaveBeenCalled();
180
- expect(deps.onLinked).not.toHaveBeenCalled();
181
- });
182
- });
183
-
184
- describe('runPasskeyRegisterSignIn', () => {
185
- it('runs options → ceremony → verify → commit, and commits the session it minted', async () => {
186
- const order: string[] = [];
187
- const commit = jest.fn(async (result: LoginSessionResult) => {
188
- order.push('commit');
189
- expect(result).toBe(sessionResult);
190
- });
191
- await runPasskeyRegisterSignIn({
192
- isSupported: () => true,
193
- getRegisterOptions: async () => {
194
- order.push('register-options');
195
- return { challenge: 'c' };
196
- },
197
- runCeremony: async (options) => {
198
- order.push('ceremony');
199
- expect(options).toEqual({ challenge: 'c' });
200
- return { id: 'cred' };
201
- },
202
- registerVerify: async (response) => {
203
- order.push('verify');
204
- expect(response).toEqual({ id: 'cred' });
205
- return sessionResult;
206
- },
207
- commit,
208
- });
209
- expect(order).toEqual(['register-options', 'ceremony', 'verify', 'commit']);
210
- });
211
-
212
- it('refuses a verify that linked instead of signing in', async () => {
213
- const commit = jest.fn();
214
- await expect(
215
- runPasskeyRegisterSignIn({
216
- isSupported: () => true,
217
- getRegisterOptions: async () => ({}),
218
- runCeremony: async () => ({}),
219
- registerVerify: async () => linkResult,
220
- commit,
221
- }),
222
- ).rejects.toThrow('without signing in');
223
- expect(commit).not.toHaveBeenCalled();
224
- });
225
-
226
- it('fails before any ceremony where passkeys are unsupported', async () => {
227
- const getRegisterOptions = jest.fn();
228
- await expect(
229
- runPasskeyRegisterSignIn({
230
- isSupported: () => false,
231
- getRegisterOptions,
232
- runCeremony: jest.fn(),
233
- registerVerify: jest.fn(),
234
- commit: jest.fn(),
235
- }),
236
- ).rejects.toThrow(PASSKEY_UNSUPPORTED_MESSAGE);
237
- expect(getRegisterOptions).not.toHaveBeenCalled();
238
- });
239
- });
@@ -1,145 +0,0 @@
1
- /**
2
- * Pure passkey (WebAuthn) sign-in / registration orchestration.
3
- *
4
- * Extracted from `OxyContext` so the fixed `options → ceremony → verify → commit`
5
- * ordering is unit-testable with injected deps — the exact pattern
6
- * `commitSessionFlow.ts` (`commitDeviceSetAndResolve`) uses. The context methods
7
- * (`signInWithPasskey` / `addPasskey`) are thin wrappers
8
- * that supply the real deps: the core `webauthn*` methods, the platform ceremony
9
- * client (`webauthn/passkeyClient`), and the internal `commitSession` funnel.
10
- *
11
- * Both GATE on `isSupported()` first (the platform client returns `false`
12
- * off the web) so an unsupported surface fails loudly before touching a ceremony.
13
- */
14
-
15
- import type { LoginResult, LoginSessionResult } from '@oxy.so/contracts';
16
- import type { CommitInput } from './oxyContextTypes';
17
-
18
- /**
19
- * The result of `OxyServices.webauthnRegisterVerify` — either the LINK branch
20
- * (`{ success, message }`, bearer present, no session) or the SIGNUP branch (a
21
- * full {@link LoginResult}, which carries a `sessionId` on its session arm).
22
- */
23
- export type PasskeyRegisterVerifyResult = { success: true; message: string } | LoginResult;
24
-
25
- /** Thrown when a passkey flow is attempted on a surface that cannot run WebAuthn. */
26
- export const PASSKEY_UNSUPPORTED_MESSAGE =
27
- 'Passkeys are not available in this environment. Use another sign-in method.';
28
-
29
- /** Project a session-arm login result onto the internal `commitSession` input. */
30
- function toCommitInput(result: LoginSessionResult): CommitInput {
31
- return {
32
- sessionId: result.sessionId,
33
- accessToken: result.accessToken,
34
- deviceSecret: result.deviceSecret,
35
- deviceId: result.deviceId,
36
- expiresAt: result.expiresAt,
37
- userId: result.user.id,
38
- user: result.user,
39
- };
40
- }
41
-
42
- /** Injected dependencies for {@link runPasskeyLogin}. */
43
- export interface RunPasskeyLoginDeps {
44
- isSupported: () => boolean;
45
- getLoginOptions: (username?: string) => Promise<unknown>;
46
- runCeremony: (optionsJSON: unknown) => Promise<unknown>;
47
- loginVerify: (
48
- response: unknown,
49
- envelope: { deviceName?: string; deviceFingerprint?: string; deviceId?: string },
50
- ) => Promise<LoginResult>;
51
- commit: (input: CommitInput) => Promise<void>;
52
- /**
53
- * When present, scopes login options to that user's registered passkeys
54
- * (username-first) — the path a NON-discoverable hardware key (e.g. a U2F
55
- * security key) needs, since it can't be found by a usernameless ceremony.
56
- * Omit for the discoverable / resident-credential path.
57
- */
58
- username?: string;
59
- deviceId?: string;
60
- deviceName?: string;
61
- deviceFingerprint?: string;
62
- }
63
-
64
- /**
65
- * Passkey SIGN-IN. With no `username` this is the usernameless
66
- * (discoverable-credential) flow; with a `username` it is username-first —
67
- * the server scopes `allowCredentials` to that user's passkeys so a
68
- * non-discoverable hardware key (U2F/security key) can be selected. Either way:
69
- * request login options, run the authentication ceremony, verify, then commit
70
- * the session. A passkey assertion is itself the strong factor — sign-in always
71
- * resolves to a completed session.
72
- */
73
- export async function runPasskeyLogin(deps: RunPasskeyLoginDeps): Promise<void> {
74
- if (!deps.isSupported()) {
75
- throw new Error(PASSKEY_UNSUPPORTED_MESSAGE);
76
- }
77
- const options = await deps.getLoginOptions(deps.username);
78
- const response = await deps.runCeremony(options);
79
- const result = await deps.loginVerify(response, {
80
- deviceName: deps.deviceName,
81
- deviceFingerprint: deps.deviceFingerprint,
82
- deviceId: deps.deviceId,
83
- });
84
- await deps.commit(toCommitInput(result));
85
- }
86
-
87
- /** Injected dependencies for {@link runPasskeyAdd}. */
88
- export interface RunPasskeyAddDeps {
89
- isSupported: () => boolean;
90
- getRegisterOptions: () => Promise<unknown>;
91
- runCeremony: (optionsJSON: unknown) => Promise<unknown>;
92
- registerVerify: (
93
- response: unknown,
94
- envelope: { deviceName?: string },
95
- ) => Promise<PasskeyRegisterVerifyResult>;
96
- onLinked: () => void;
97
- deviceName?: string;
98
- }
99
-
100
- /**
101
- * ADD a passkey to the already-signed-in account (bearer present). The verify
102
- * link branch returns `{ success, message }` with NO session — so this never
103
- * commits a session; it just fires `onLinked` (which invalidates the
104
- * auth-methods query). A session arm here would be a server contract violation.
105
- */
106
- export async function runPasskeyAdd(deps: RunPasskeyAddDeps): Promise<void> {
107
- if (!deps.isSupported()) {
108
- throw new Error(PASSKEY_UNSUPPORTED_MESSAGE);
109
- }
110
- const options = await deps.getRegisterOptions();
111
- const response = await deps.runCeremony(options);
112
- const result = await deps.registerVerify(response, { deviceName: deps.deviceName });
113
- if ('sessionId' in result) {
114
- throw new Error('addPasskey unexpectedly minted a new session instead of linking.');
115
- }
116
- deps.onLinked();
117
- }
118
-
119
- /** Injected dependencies for {@link runPasskeyRegisterSignIn}. */
120
- export interface RunPasskeyRegisterSignInDeps {
121
- isSupported: () => boolean;
122
- getRegisterOptions: () => Promise<unknown>;
123
- runCeremony: (optionsJSON: unknown) => Promise<unknown>;
124
- registerVerify: (response: unknown) => Promise<PasskeyRegisterVerifyResult>;
125
- commit: (result: LoginSessionResult) => Promise<void>;
126
- }
127
-
128
- /**
129
- * Register a passkey SIGNED OUT and sign in with the account it belongs to —
130
- * a new passkey account (username + confirmed recovery email), or a recovery's
131
- * new passkey (ADR 0029 D3). Options, ceremony, verify, then commit; the verify
132
- * must mint a session, since there is no bearer to link to.
133
- */
134
- export async function runPasskeyRegisterSignIn(deps: RunPasskeyRegisterSignInDeps): Promise<void> {
135
- if (!deps.isSupported()) {
136
- throw new Error(PASSKEY_UNSUPPORTED_MESSAGE);
137
- }
138
- const options = await deps.getRegisterOptions();
139
- const response = await deps.runCeremony(options);
140
- const result = await deps.registerVerify(response);
141
- if (!('sessionId' in result)) {
142
- throw new Error('The passkey was registered without signing in.');
143
- }
144
- await deps.commit(result);
145
- }