@oxyhq/services 22.12.5 → 22.13.1

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 (464) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +90 -10
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/notifications/deviceNotifications.js +424 -0
  5. package/lib/commonjs/notifications/deviceNotifications.js.map +1 -0
  6. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  7. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  8. package/lib/commonjs/ui/client.js +0 -13
  9. package/lib/commonjs/ui/client.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
  11. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyAuthChooser.js +74 -1124
  13. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  15. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  17. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  19. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  20. package/lib/commonjs/ui/components/OxySignInRequestSurface.js +147 -0
  21. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -0
  22. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  23. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  24. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  25. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  26. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +106 -0
  27. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  28. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  29. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +61 -0
  31. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
  33. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  34. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +153 -0
  35. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  37. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  38. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  39. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  40. package/lib/commonjs/ui/components/authChooser/types.js +70 -0
  41. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  42. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  43. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  44. package/lib/commonjs/ui/context/OxyContext.js +205 -30
  45. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  46. package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
  47. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  48. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
  49. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  50. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  51. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  52. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  53. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  54. package/lib/commonjs/ui/index.js +0 -13
  55. package/lib/commonjs/ui/index.js.map +1 -1
  56. package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
  57. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  58. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  59. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  60. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  61. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  62. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  63. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  64. package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
  65. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  66. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  67. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  68. package/lib/commonjs/ui/oauth/types.js +2 -0
  69. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  70. package/lib/commonjs/ui/server.js +2 -5
  71. package/lib/commonjs/ui/server.js.map +1 -1
  72. package/lib/commonjs/ui/session/authStore.js +6 -75
  73. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  74. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  75. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  76. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  77. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  78. package/lib/commonjs/ui/session/index.js +13 -0
  79. package/lib/commonjs/ui/session/index.js.map +1 -1
  80. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  81. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  82. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  83. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  84. package/lib/commonjs/ui/utils/crossOriginRestore.js +3 -2
  85. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  86. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  87. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  88. package/lib/commonjs/ui/utils/oauthReturn.js +33 -49
  89. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  90. package/lib/module/index.js +27 -4
  91. package/lib/module/index.js.map +1 -1
  92. package/lib/module/notifications/deviceNotifications.js +414 -0
  93. package/lib/module/notifications/deviceNotifications.js.map +1 -0
  94. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  95. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  96. package/lib/module/ui/client.js +0 -1
  97. package/lib/module/ui/client.js.map +1 -1
  98. package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
  99. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  100. package/lib/module/ui/components/OxyAuthChooser.js +78 -1129
  101. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  102. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  103. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  104. package/lib/module/ui/components/OxyProvider.js +4 -4
  105. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  106. package/lib/module/ui/components/OxySignInButton.js +76 -42
  107. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  108. package/lib/module/ui/components/OxySignInRequestSurface.js +141 -0
  109. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -0
  110. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  111. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  112. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  113. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  114. package/lib/module/ui/components/authChooser/SignInRequestView.js +101 -0
  115. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  116. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  117. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  118. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +57 -0
  119. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  120. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  121. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  122. package/lib/module/ui/components/authChooser/requestSurfaces.js +143 -0
  123. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  124. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  125. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  126. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  127. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  128. package/lib/module/ui/components/authChooser/types.js +66 -0
  129. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  130. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  131. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  132. package/lib/module/ui/context/OxyContext.js +208 -33
  133. package/lib/module/ui/context/OxyContext.js.map +1 -1
  134. package/lib/module/ui/context/commitSessionFlow.js +45 -0
  135. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  136. package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
  137. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  138. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  139. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  140. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  141. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  142. package/lib/module/ui/index.js +0 -1
  143. package/lib/module/ui/index.js.map +1 -1
  144. package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
  145. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  146. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  147. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  148. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  149. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  150. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  151. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  152. package/lib/module/ui/oauth/oauthPopup.js +268 -0
  153. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  154. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  155. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  156. package/lib/module/ui/oauth/types.js +2 -0
  157. package/lib/module/ui/oauth/types.js.map +1 -0
  158. package/lib/module/ui/server.js +0 -2
  159. package/lib/module/ui/server.js.map +1 -1
  160. package/lib/module/ui/session/authStore.js +5 -75
  161. package/lib/module/ui/session/authStore.js.map +1 -1
  162. package/lib/module/ui/session/createSessionClient.js +11 -3
  163. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  164. package/lib/module/ui/session/identityBinding.js +89 -0
  165. package/lib/module/ui/session/identityBinding.js.map +1 -0
  166. package/lib/module/ui/session/index.js +5 -2
  167. package/lib/module/ui/session/index.js.map +1 -1
  168. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  169. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  170. package/lib/module/ui/session/tokenTransport.js +11 -1
  171. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  172. package/lib/module/ui/utils/crossOriginRestore.js +4 -3
  173. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  174. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  175. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  176. package/lib/module/ui/utils/oauthReturn.js +35 -50
  177. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  178. package/lib/typescript/commonjs/index.d.ts +9 -1
  179. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts +173 -0
  181. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  183. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  185. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +23 -29
  188. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  191. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  192. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +108 -0
  194. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  196. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  198. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  200. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  202. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +36 -0
  204. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  206. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +58 -0
  208. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  210. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  211. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  212. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +103 -0
  214. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  215. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  216. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  219. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
  221. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  223. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  225. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  228. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  230. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  232. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  234. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  236. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
  238. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  240. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  241. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  242. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  244. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  246. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  248. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  250. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  252. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  254. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  256. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  258. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  261. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +11 -16
  263. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  264. package/lib/typescript/module/index.d.ts +9 -1
  265. package/lib/typescript/module/index.d.ts.map +1 -1
  266. package/lib/typescript/module/notifications/deviceNotifications.d.ts +173 -0
  267. package/lib/typescript/module/notifications/deviceNotifications.d.ts.map +1 -0
  268. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  269. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  270. package/lib/typescript/module/ui/client.d.ts +0 -1
  271. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  272. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  273. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +23 -29
  274. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  275. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  276. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  277. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  278. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  279. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +108 -0
  280. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
  281. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  282. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  284. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  285. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  286. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  287. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  288. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  289. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +36 -0
  290. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  291. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  292. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  293. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +58 -0
  294. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  295. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  296. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  297. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  298. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  299. package/lib/typescript/module/ui/components/authChooser/types.d.ts +103 -0
  300. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  302. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  304. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  305. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  306. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
  307. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  308. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  309. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  310. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  311. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  312. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  313. package/lib/typescript/module/ui/index.d.ts +0 -1
  314. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  316. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  317. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  318. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  319. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  320. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  321. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  322. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  323. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
  324. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  325. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  326. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  327. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  328. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  329. package/lib/typescript/module/ui/server.d.ts +0 -2
  330. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  331. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  332. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  334. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  335. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  336. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  337. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  338. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  339. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  340. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  341. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  342. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  344. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  346. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  347. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  348. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +11 -16
  349. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  350. package/package.json +18 -10
  351. package/src/index.ts +51 -5
  352. package/src/notifications/deviceNotifications.ts +458 -0
  353. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  354. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  355. package/src/ui/client.ts +0 -1
  356. package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
  357. package/src/ui/components/OxyAuthChooser.tsx +102 -1231
  358. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  359. package/src/ui/components/OxyProvider.tsx +4 -4
  360. package/src/ui/components/OxySignInButton.tsx +119 -78
  361. package/src/ui/components/OxySignInRequestSurface.tsx +202 -0
  362. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  363. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  364. package/src/ui/components/authChooser/SignInEntryView.tsx +121 -0
  365. package/src/ui/components/authChooser/SignInRequestView.tsx +130 -0
  366. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  367. package/src/ui/components/authChooser/TroubleDisclosure.tsx +73 -0
  368. package/src/ui/components/authChooser/primitives.tsx +144 -0
  369. package/src/ui/components/authChooser/requestSurfaces.tsx +120 -0
  370. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  371. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  372. package/src/ui/components/authChooser/types.ts +120 -0
  373. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  374. package/src/ui/context/OxyContext.tsx +226 -24
  375. package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
  376. package/src/ui/context/commitSessionFlow.ts +64 -0
  377. package/src/ui/context/hooks/useAuthOperations.ts +26 -1
  378. package/src/ui/context/oxyContextTypes.ts +45 -1
  379. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  380. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  381. package/src/ui/index.ts +0 -1
  382. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  383. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  384. package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
  385. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  386. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  387. package/src/ui/oauth/browserAuthTransport.ts +193 -0
  388. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  389. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  390. package/src/ui/oauth/oauthHandshake.ts +74 -0
  391. package/src/ui/oauth/oauthPopup.ts +277 -0
  392. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  393. package/src/ui/oauth/types.ts +150 -0
  394. package/src/ui/server.ts +0 -2
  395. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  396. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  397. package/src/ui/session/authStore.ts +5 -89
  398. package/src/ui/session/createSessionClient.ts +15 -2
  399. package/src/ui/session/identityBinding.ts +116 -0
  400. package/src/ui/session/index.ts +6 -2
  401. package/src/ui/session/nativeSecureStorage.ts +98 -0
  402. package/src/ui/session/tokenTransport.ts +14 -1
  403. package/src/ui/types/navigation.ts +44 -1
  404. package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
  405. package/src/ui/utils/crossOriginRestore.ts +7 -6
  406. package/src/ui/utils/deliveryPlatform.ts +65 -0
  407. package/src/ui/utils/oauthReturn.ts +38 -62
  408. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  409. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  410. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  411. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  412. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  413. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  414. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  415. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  416. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  417. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  418. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  419. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  420. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  421. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  422. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  423. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  424. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  425. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  426. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  427. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  428. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  429. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  430. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  431. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  432. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  433. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  434. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  435. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  436. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  437. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  438. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  439. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  440. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  441. package/lib/module/ui/components/FontLoader.js +0 -29
  442. package/lib/module/ui/components/FontLoader.js.map +0 -1
  443. package/lib/module/ui/components/FontLoader.native.js +0 -83
  444. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  445. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  446. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  447. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  448. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  449. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  450. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  451. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  452. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  453. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  454. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  455. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  456. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  457. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  458. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  459. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  460. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  461. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  462. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  463. package/src/ui/components/FontLoader.native.tsx +0 -88
  464. package/src/ui/components/FontLoader.tsx +0 -27
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { logger as loggerUtil } from '@oxyhq/core';
4
+ import { allowsAutomaticIdpRedirect } from "../oauth/legacyRedirectLanes.js";
5
+ import { isWebBrowser } from "../utils/isWebBrowser.js";
4
6
  import { isUnauthorizedStatus } from "./oxyContextHelpers.js";
5
7
  const LOG_CONTEXT = {
6
8
  component: 'OxyContext',
@@ -70,6 +72,9 @@ export async function commitDeviceSetAndResolve(deps) {
70
72
  }
71
73
  fullUser = fallbackUser;
72
74
  }
75
+ if (!fullUser) {
76
+ fullUser = fallbackUser;
77
+ }
73
78
  if (fullUser) {
74
79
  loginSuccess(fullUser);
75
80
  onAuthStateChange?.(fullUser);
@@ -94,4 +99,44 @@ export async function commitDeviceSetAndResolve(deps) {
94
99
  await hydrateAndResolve();
95
100
  void reconcileDeviceSet().catch(logReconcileError);
96
101
  }
102
+ /**
103
+ * Post-sign-in hub sync: plant this device's credential on the IdP hub so OTHER
104
+ * official origins can silently restore a session on their next cold boot.
105
+ *
106
+ * The tail of the ONE commit funnel (`commitSession`), extracted so every gate
107
+ * on this legacy lane lives — and is tested — in one place. Returns whether the
108
+ * full-page redirect was started; a failure is non-fatal and never propagates
109
+ * (the sign-in itself already succeeded).
110
+ *
111
+ * Four gates, all of which must pass:
112
+ * 1. `activate` — only a deliberate sign-in syncs; a cold-boot restore never does.
113
+ * 2. `hubSyncRequested` — the in-place lanes (account switch, popup OAuth) opt out.
114
+ * 3. `hubSyncEnabled` — the provider-level `hubSync` prop.
115
+ * 4. `allowsAutomaticIdpRedirect(webAuthMode)` — hub sync REPLACES the document
116
+ * with `auth.oxy.so`, so `webAuthMode: 'popup'` forbids it: a redirect that
117
+ * bounces the tab defeats the entire point of the mode, no matter which
118
+ * commit path produced the session (issue #691, "Cold boot and cross-domain
119
+ * behavior"). Redirect mode — the default and the compatibility path — is
120
+ * unchanged, and this whole function disappears with it in phase 7b.
121
+ */
122
+ export async function maybeSyncHubAfterCommit(deps) {
123
+ const {
124
+ activate,
125
+ hubSyncRequested,
126
+ hubSyncEnabled,
127
+ webAuthMode,
128
+ syncHub
129
+ } = deps;
130
+ if (!activate || !hubSyncRequested || !hubSyncEnabled) return false;
131
+ if (!allowsAutomaticIdpRedirect(webAuthMode)) return false;
132
+ if (!isWebBrowser()) return false;
133
+ try {
134
+ return await syncHub();
135
+ } catch (hubError) {
136
+ if (__DEV__) {
137
+ loggerUtil.debug('Hub sync after sign-in failed (non-fatal)', LOG_CONTEXT, hubError);
138
+ }
139
+ return false;
140
+ }
141
+ }
97
142
  //# sourceMappingURL=commitSessionFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["logger","loggerUtil","isUnauthorizedStatus","LOG_CONTEXT","component","method","commitDeviceSetAndResolve","deps","activate","userId","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","syncFromClient","getCurrentUser","loginSuccess","onAuthStateChange","markAuthResolved","reconcileDeviceSet","logReconcileError","registrationError","debug","warn","hydrateAndResolve","fullUser","profileError","__DEV__","catch"],"sourceRoot":"../../../../src","sources":["ui/context/commitSessionFlow.ts"],"mappings":";;AACA,SAASA,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAClD,SAASC,oBAAoB,QAAQ,wBAAqB;AAE1D,MAAMC,WAAW,GAAG;EAAEC,SAAS,EAAE,YAAY;EAAEC,MAAM,EAAE;AAAgB,CAAU;AA6BjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,yBAAyBA,CAC7CC,IAAmC,EACpB;EACf,MAAM;IACJC,QAAQ;IACRC,MAAM;IACNC,YAAY;IACZC,mBAAmB;IACnBC,iBAAiB;IACjBC,WAAW;IACXC,cAAc;IACdC,cAAc;IACdC,YAAY;IACZC,iBAAiB;IACjBC;EACF,CAAC,GAAGX,IAAI;;EAER;EACA;EACA;EACA;EACA,MAAMY,kBAAkB,GAAG,MAAAA,CAAA,KAA2B;IACpD,IAAIX,QAAQ,EAAE;MACZ,MAAMG,mBAAmB,CAACF,MAAM,CAAC;IACnC,CAAC,MAAM;MACL,MAAMG,iBAAiB,CAAC,CAAC;IAC3B;IACA,MAAMC,WAAW,CAAC,CAAC;IACnB,MAAMC,cAAc,CAAC,CAAC;EACxB,CAAC;EAED,MAAMM,iBAAiB,GAAIC,iBAA0B,IAAW;IAC9D;IACA;IACA;IACA;IACA;IACA,IAAInB,oBAAoB,CAACmB,iBAAiB,CAAC,EAAE;MAC3CpB,UAAU,CAACqB,KAAK,CAAC,6DAA6D,EAAEnB,WAAW,EAAEkB,iBAAiB,CAAC;MAC/G;IACF;IACApB,UAAU,CAACsB,IAAI,CAAC,+CAA+C,EAAEpB,WAAW,EAAEkB,iBAAiB,CAAC;EAClG,CAAC;;EAED;EACA;EACA;EACA,MAAMG,iBAAiB,GAAG,MAAAA,CAAA,KAA2B;IACnD,IAAIC,QAAqB,GAAG,IAAI;IAChC,IAAI;MACFA,QAAQ,GAAG,MAAMV,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOW,YAAY,EAAE;MACrB,IAAIC,OAAO,EAAE;QACX1B,UAAU,CAACqB,KAAK,CAAC,6DAA6D,EAAEnB,WAAW,EAAEuB,YAAY,CAAC;MAC5G;MACAD,QAAQ,GAAGf,YAAY;IACzB;IACA,IAAIe,QAAQ,EAAE;MACZT,YAAY,CAACS,QAAQ,CAAC;MACtBR,iBAAiB,GAAGQ,QAAQ,CAAC;IAC/B;IACAP,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAED,IAAIV,QAAQ,EAAE;IACZ;IACA;IACA,IAAI;MACF,MAAMW,kBAAkB,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAOE,iBAAiB,EAAE;MAC1BD,iBAAiB,CAACC,iBAAiB,CAAC;IACtC;IACA,MAAMG,iBAAiB,CAAC,CAAC;IACzB;EACF;;EAEA;EACA;EACA;EACA,MAAMA,iBAAiB,CAAC,CAAC;EACzB,KAAKL,kBAAkB,CAAC,CAAC,CAACS,KAAK,CAACR,iBAAiB,CAAC;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["logger","loggerUtil","allowsAutomaticIdpRedirect","isWebBrowser","isUnauthorizedStatus","LOG_CONTEXT","component","method","commitDeviceSetAndResolve","deps","activate","userId","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","syncFromClient","getCurrentUser","loginSuccess","onAuthStateChange","markAuthResolved","reconcileDeviceSet","logReconcileError","registrationError","debug","warn","hydrateAndResolve","fullUser","profileError","__DEV__","catch","maybeSyncHubAfterCommit","hubSyncRequested","hubSyncEnabled","webAuthMode","syncHub","hubError"],"sourceRoot":"../../../../src","sources":["ui/context/commitSessionFlow.ts"],"mappings":"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","ignoreList":[]}
@@ -44,7 +44,9 @@ export const useAuthOperations = ({
44
44
  loginFailure,
45
45
  logoutStore,
46
46
  setAuthState,
47
- logger
47
+ logger,
48
+ identityBinding,
49
+ refreshPinnedAccountId
48
50
  }) => {
49
51
  /**
50
52
  * Internal function to perform challenge-response sign in.
@@ -99,6 +101,17 @@ export const useAuthOperations = ({
99
101
  logger?.('Failed to persist auth state after sign-in', persistError);
100
102
  }
101
103
  }
104
+ if (identityBinding) {
105
+ try {
106
+ await identityBinding.pinStore.save({
107
+ publicKey: publicKey.toLowerCase(),
108
+ accountId: sessionResponse.user.id
109
+ });
110
+ await refreshPinnedAccountId?.();
111
+ } catch (pinError) {
112
+ logger?.('Failed to persist identity pin after sign-in', pinError);
113
+ }
114
+ }
102
115
 
103
116
  // Register this recovered account+session into the server-authoritative
104
117
  // device-session set AND make it active: `registerAndActivate()` adds via
@@ -162,7 +175,7 @@ export const useAuthOperations = ({
162
175
  loginSuccess(fullUser);
163
176
  onAuthStateChange?.(fullUser);
164
177
  return fullUser;
165
- }, [logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, sessionClient, setActiveSessionId, store, switchSession, syncFromClient, updateSessions]);
178
+ }, [logger, loginSuccess, onAuthStateChange, oxyServices, saveActiveSessionId, sessionClient, setActiveSessionId, store, switchSession, syncFromClient, updateSessions, identityBinding, refreshPinnedAccountId]);
166
179
 
167
180
  /**
168
181
  * Sign in with existing public key
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getCurrentUser","allDeviceSessions","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","status","undefined","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","identityBinding","refreshPinnedAccountId","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","deviceSecret","deviceId","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","pinStore","toLowerCase","accountId","pinError","registerAndActivate","registrationError","getCurrentUser","allDeviceSessions","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","Error","signOut","remainingAccounts","length","isInvalid","status","undefined","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
@@ -5,10 +5,12 @@ import { logger as loggerUtil } from '@oxyhq/core';
5
5
  import { isUnauthorizedStatus } from "./oxyContextHelpers.js";
6
6
  import { resetSessionScopedStores } from "../stores/resetSessionScopedStores.js";
7
7
  import { ASSET_DOWNLOAD_URLS_QUERY_KEY } from "../hooks/useResolvedFileUrls.js";
8
+ import { IdentityBoundSessionError } from "../session/index.js";
8
9
  export function useOxyAccountGraph({
9
10
  isAuthenticated,
10
11
  tokenReady,
11
12
  initialized,
13
+ identityBound,
12
14
  oxyServices,
13
15
  sessionClient,
14
16
  syncFromClient,
@@ -19,7 +21,7 @@ export function useOxyAccountGraph({
19
21
  }) {
20
22
  const [accounts, setAccounts] = useState([]);
21
23
  const refreshAccounts = useCallback(async () => {
22
- if (!isAuthenticated || !tokenReady || !oxyServices.getAccessToken()) {
24
+ if (identityBound || !isAuthenticated || !tokenReady || !oxyServices.getAccessToken()) {
23
25
  setAccounts([]);
24
26
  return;
25
27
  }
@@ -38,13 +40,13 @@ export function useOxyAccountGraph({
38
40
  }, err);
39
41
  }
40
42
  }
41
- }, [isAuthenticated, oxyServices, tokenReady, clearSessionStateRef]);
43
+ }, [identityBound, isAuthenticated, oxyServices, tokenReady, clearSessionStateRef]);
42
44
  useEffect(() => {
43
- if (isAuthenticated && initialized && tokenReady) {
45
+ if (!identityBound && isAuthenticated && initialized && tokenReady) {
44
46
  refreshAccounts();
45
47
  void accountDialogControllerRef.current?.refresh();
46
48
  }
47
- }, [isAuthenticated, initialized, tokenReady, refreshAccounts, accountDialogControllerRef]);
49
+ }, [identityBound, isAuthenticated, initialized, tokenReady, refreshAccounts, accountDialogControllerRef]);
48
50
  const runPostAccountSwitchSideEffects = useCallback(async () => {
49
51
  resetSessionScopedStores();
50
52
  // Scoped media tokens are per-viewer — drop any cached URLs immediately so
@@ -57,6 +59,12 @@ export function useOxyAccountGraph({
57
59
  queryClient.invalidateQueries();
58
60
  }, [refreshAccounts, queryClient]);
59
61
  const switchToAccount = useCallback(async accountId => {
62
+ if (identityBound) {
63
+ // Loud rejection, never a silent no-op: a resolved promise here would
64
+ // read to the caller as a completed switch that simply left the user
65
+ // unchanged, which is exactly the confusion this mode must avoid.
66
+ throw new IdentityBoundSessionError('switchToAccount');
67
+ }
60
68
  const deviceState = sessionClient.getState();
61
69
  if (deviceState?.accounts.some(account => account.accountId === accountId)) {
62
70
  await sessionClient.switchAccount(accountId);
@@ -84,7 +92,7 @@ export function useOxyAccountGraph({
84
92
  hubSync: false
85
93
  });
86
94
  await runPostAccountSwitchSideEffects();
87
- }, [oxyServices, sessionClient, syncFromClient, commitSession, runPostAccountSwitchSideEffects]);
95
+ }, [identityBound, oxyServices, sessionClient, syncFromClient, commitSession, runPostAccountSwitchSideEffects]);
88
96
  const createAccount = useCallback(async data => {
89
97
  const account = await oxyServices.createAccount(data);
90
98
  await refreshAccounts();
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","logger","loggerUtil","isUnauthorizedStatus","resetSessionScopedStores","ASSET_DOWNLOAD_URLS_QUERY_KEY","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","refreshAccounts","getAccessToken","list","listAccounts","err","current","__DEV__","debug","component","refresh","runPostAccountSwitchSideEffects","removeQueries","queryKey","invalidateQueries","switchToAccount","accountId","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","logger","loggerUtil","isUnauthorizedStatus","resetSessionScopedStores","ASSET_DOWNLOAD_URLS_QUERY_KEY","IdentityBoundSessionError","useOxyAccountGraph","isAuthenticated","tokenReady","initialized","identityBound","oxyServices","sessionClient","syncFromClient","commitSession","queryClient","accountDialogControllerRef","clearSessionStateRef","accounts","setAccounts","refreshAccounts","getAccessToken","list","listAccounts","err","current","__DEV__","debug","component","refresh","runPostAccountSwitchSideEffects","removeQueries","queryKey","invalidateQueries","switchToAccount","accountId","deviceState","getState","some","account","switchAccount","result","user","sessionId","Error","accessToken","deviceSecret","deviceId","expiresAt","userId","id","activate","hubSync","createAccount","data"],"sourceRoot":"../../../../src","sources":["ui/context/useOxyAccountGraph.ts"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,12 @@ const EMPTY_SNAPSHOT = {
18
18
  authorizeCode: null,
19
19
  qrPayload: null,
20
20
  expiresAt: null,
21
- error: null
21
+ error: null,
22
+ route: null,
23
+ routeFailed: false,
24
+ pushSentAt: null,
25
+ openedAt: null,
26
+ progress: 'idle'
22
27
  },
23
28
  commonsAvailability: 'unknown'
24
29
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useSyncExternalStore","useOxy","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","commonsAvailability","useSwitchableAccounts","accountDialogController","controller","subscribe","listener","undefined","getSnapshot","snapshot","currentSessionId","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,OAAO;AAElE,SAASC,MAAM,QAAQ,0BAAuB;AAW9C;AACA;AACA;AACA;AACA,MAAMC,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IAAEC,KAAK,EAAE,MAAM;IAAEC,aAAa,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEN,KAAK,EAAE;EAAK,CAAC;EAC7FO,mBAAmB,EAAE;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAGhB,MAAM,CAAC,CAAC;EAExD,MAAMiB,SAAS,GAAGpB,WAAW,CACxBqB,QAAoB,IAAMF,UAAU,GAAGA,UAAU,CAACC,SAAS,CAACC,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACH,UAAU,CACf,CAAC;EACD,MAAMI,WAAW,GAAGvB,WAAW,CAC3B,MAAOmB,UAAU,GAAGA,UAAU,CAACI,WAAW,CAAC,CAAC,GAAGnB,cAAe,EAC9D,CAACe,UAAU,CACf,CAAC;EACD,MAAMK,QAAQ,GAAGtB,oBAAoB,CAACkB,SAAS,EAAEG,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAME,gBAAgB,GAAGxB,OAAO,CAAgB,MAAM;IAClD,MAAMyB,MAAM,GAAGF,QAAQ,CAAClB,QAAQ,CAACqB,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKL,QAAQ,CAACjB,eAAe,CAAC;IAClG,OAAOmB,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHlB,QAAQ,EAAEkB,QAAQ,CAAClB,QAAQ;IAC3ByB,SAAS,EAAEP,QAAQ,CAAChB,OAAO;IAC3BiB;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useSyncExternalStore","useOxy","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","route","routeFailed","pushSentAt","openedAt","progress","commonsAvailability","useSwitchableAccounts","accountDialogController","controller","subscribe","listener","undefined","getSnapshot","snapshot","currentSessionId","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,OAAO;AAElE,SAASC,MAAM,QAAQ,0BAAuB;AAW9C;AACA;AACA;AACA;AACA,MAAMC,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IACJC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,IAAI;IACnBC,SAAS,EAAE,IAAI;IACfC,SAAS,EAAE,IAAI;IACfN,KAAK,EAAE,IAAI;IACXO,KAAK,EAAE,IAAI;IACXC,WAAW,EAAE,KAAK;IAClBC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE,IAAI;IACdC,QAAQ,EAAE;EACd,CAAC;EACDC,mBAAmB,EAAE;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAGrB,MAAM,CAAC,CAAC;EAExD,MAAMsB,SAAS,GAAGzB,WAAW,CACxB0B,QAAoB,IAAMF,UAAU,GAAGA,UAAU,CAACC,SAAS,CAACC,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACH,UAAU,CACf,CAAC;EACD,MAAMI,WAAW,GAAG5B,WAAW,CAC3B,MAAOwB,UAAU,GAAGA,UAAU,CAACI,WAAW,CAAC,CAAC,GAAGxB,cAAe,EAC9D,CAACoB,UAAU,CACf,CAAC;EACD,MAAMK,QAAQ,GAAG3B,oBAAoB,CAACuB,SAAS,EAAEG,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAME,gBAAgB,GAAG7B,OAAO,CAAgB,MAAM;IAClD,MAAM8B,MAAM,GAAGF,QAAQ,CAACvB,QAAQ,CAAC0B,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKL,QAAQ,CAACtB,eAAe,CAAC;IAClG,OAAOwB,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHvB,QAAQ,EAAEuB,QAAQ,CAACvB,QAAQ;IAC3B8B,SAAS,EAAEP,QAAQ,CAACrB,OAAO;IAC3BsB;EACJ,CAAC;AACL","ignoreList":[]}
@@ -26,7 +26,6 @@ export { LogoText } from "./components/logo/LogoText.js";
26
26
  export { RequireOxyAuth } from "./components/RequireOxyAuth.js";
27
27
  export { default as FollowButton } from "./components/FollowButton.js";
28
28
  export { default as OxyPayButton } from "./components/OxyPayButton.js";
29
- export { FontLoader, setupFonts } from './components/FontLoader';
30
29
  export { default as ProfileButton } from "./components/ProfileButton.js";
31
30
 
32
31
  // Context + hooks
@@ -1 +1 @@
1
- {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","RequireOxyAuth","FollowButton","OxyPayButton","FontLoader","setupFonts","ProfileButton","useOxy","useAuth","useFollow","useSeedFollowStatuses","useStorage","ProfileScreen","ManageAccountScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;AACnE,SAASP,OAAO,IAAIQ,YAAY,QAAQ,8BAA2B;AACnE,SAASC,UAAU,EAAEC,UAAU,QAAQ,yBAAyB;AAChE,SAASV,OAAO,IAAIW,aAAa,QAAQ,+BAA4B;;AAErE;AACA,SAASC,MAAM,QAAQ,yBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,sBAAmB;AACpE,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,4BAAyB;AAClE,SAASjB,OAAO,IAAIkB,mBAAmB,QAAQ,kCAA+B;AAC9E,SAASlB,OAAO,IAAImB,mBAAmB,QAAQ,kCAA+B;AAC9E,SAASnB,OAAO,IAAIoB,oBAAoB,QAAQ,mCAAgC;AAChF,SAASpB,OAAO,IAAIqB,qBAAqB,QAAQ,oCAAiC;;AAElF;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["default","OxyProvider","OxySignInButton","OxyAuthPrompt","LogoIcon","LogoText","RequireOxyAuth","FollowButton","OxyPayButton","ProfileButton","useOxy","useAuth","useFollow","useSeedFollowStatuses","useStorage","ProfileScreen","ManageAccountScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","useAuthStore","useAccountStore","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,WAAW,QAAQ,6BAA0B;AACjE,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAA8B;AACzE,SAASF,OAAO,IAAIG,aAAa,QAAQ,+BAA4B;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASN,OAAO,IAAIO,YAAY,QAAQ,8BAA2B;AACnE,SAASP,OAAO,IAAIQ,YAAY,QAAQ,8BAA2B;AACnE,SAASR,OAAO,IAAIS,aAAa,QAAQ,+BAA4B;;AAErE;AACA,SAASC,MAAM,QAAQ,yBAAsB;AAC7C,SAASC,OAAO,QAAQ,oBAAiB;AACzC,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,sBAAmB;AACpE,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,SAASd,OAAO,IAAIe,aAAa,QAAQ,4BAAyB;AAClE,SAASf,OAAO,IAAIgB,mBAAmB,QAAQ,kCAA+B;AAC9E,SAAShB,OAAO,IAAIiB,mBAAmB,QAAQ,kCAA+B;AAC9E,SAASjB,OAAO,IAAIkB,oBAAoB,QAAQ,mCAAgC;AAChF,SAASlB,OAAO,IAAImB,qBAAqB,QAAQ,oCAAiC;;AAElF;AACA,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,eAAe,QAAQ,0BAAuB;;AAEvD;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,0BAAuB","ignoreList":[]}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The single web entry point for third-party "Sign in with Oxy".
5
+ *
6
+ * Picks the transport (`popup` or `redirect`), drives it, and returns ONE typed
7
+ * result — so callers (`OxySignInButton`, and any RP with its own button) never
8
+ * touch `window.open`, `postMessage`, or the token exchange themselves.
9
+ *
10
+ * Popup mode keeps the relying party mounted: its route, scroll position, and
11
+ * unsaved state survive because the tab never navigates. Redirect mode is the
12
+ * compatibility fallback, and is also where popup mode lands when the browser
13
+ * blocks the window — a blocked popup must still sign the user in, not dead-end.
14
+ *
15
+ * Native is NOT handled here: `openAuthorizeUrlNative` (an in-app auth session)
16
+ * remains the native lane and is untouched by this module.
17
+ */
18
+
19
+ import { logger, persistOAuthHandshake } from '@oxyhq/core';
20
+ import { redirectToAuthorize } from "../components/oauthNavigation.js";
21
+ import { isWebBrowser } from "../utils/isWebBrowser.js";
22
+ import { completeOAuthCode } from "./completeOAuthCode.js";
23
+ import { prepareAuthorizeRequest } from "./oauthHandshake.js";
24
+ import { awaitOAuthPopupResult, closeOAuthPopup, navigateOAuthPopup, openOAuthPopup } from "./oauthPopup.js";
25
+
26
+ /** Provider-owned wiring for a web sign-in — everything that is not per-press. */
27
+
28
+ /** Per-press inputs for {@link startWebOAuthSignIn}. */
29
+
30
+ export async function startWebOAuthSignIn(context, options) {
31
+ if (!isWebBrowser()) {
32
+ closeOAuthPopup(options.popup ?? null);
33
+ return {
34
+ status: 'unsupported',
35
+ reason: 'no-browser'
36
+ };
37
+ }
38
+ if (context.identityBound) {
39
+ closeOAuthPopup(options.popup ?? null);
40
+ return {
41
+ status: 'unsupported',
42
+ reason: 'identity-bound'
43
+ };
44
+ }
45
+ if (!context.clientId) {
46
+ closeOAuthPopup(options.popup ?? null);
47
+ return {
48
+ status: 'unsupported',
49
+ reason: 'missing-client-id'
50
+ };
51
+ }
52
+
53
+ // Claim the window BEFORE the first `await` below, so a caller that invoked us
54
+ // straight from the click still has gesture attribution. An explicit `null`
55
+ // means the caller already tried and was blocked.
56
+ const popup = context.mode === 'popup' && options.popup === undefined ? openOAuthPopup() : options.popup ?? null;
57
+ if (context.mode === 'redirect') {
58
+ closeOAuthPopup(popup);
59
+ return startRedirectSignIn(context, options, 'redirect-mode');
60
+ }
61
+ if (!popup) {
62
+ logger.warn('OAuth sign-in popup was blocked; falling back to a full-page redirect', {
63
+ component: 'browserAuthTransport'
64
+ });
65
+ return startRedirectSignIn(context, options, 'popup-blocked');
66
+ }
67
+ try {
68
+ const prepared = await prepareAuthorizeRequest({
69
+ clientId: context.clientId,
70
+ redirectUri: options.redirectUri,
71
+ authorizeBaseUrl: context.authorizeBaseUrl,
72
+ scope: options.scope,
73
+ responseMode: 'web_message'
74
+ });
75
+ if (!navigateOAuthPopup(popup, prepared.authorizeUrl)) {
76
+ return startRedirectSignIn(context, options, 'popup-navigation-failed');
77
+ }
78
+ const outcome = await awaitOAuthPopupResult({
79
+ popup,
80
+ expectedOrigin: prepared.authorizeOrigin,
81
+ expectedState: prepared.handshake.state,
82
+ redirectUri: options.redirectUri,
83
+ ...(options.timeoutMs !== undefined ? {
84
+ timeoutMs: options.timeoutMs
85
+ } : {})
86
+ });
87
+ switch (outcome.kind) {
88
+ case 'code':
89
+ {
90
+ const completion = await completeOAuthCode({
91
+ oxyServices: context.oxyServices,
92
+ clientId: context.clientId,
93
+ code: outcome.code,
94
+ returnedState: outcome.state,
95
+ handshake: prepared.handshake,
96
+ redirectUri: options.redirectUri,
97
+ commitSession: context.commitSession
98
+ });
99
+ return completion.ok ? {
100
+ status: 'signed-in'
101
+ } : {
102
+ status: 'failed',
103
+ reason: completion.reason
104
+ };
105
+ }
106
+ case 'oauth-error':
107
+ return {
108
+ status: 'failed',
109
+ reason: 'idp-error',
110
+ description: outcome.errorDescription ?? outcome.error
111
+ };
112
+ case 'state-mismatch':
113
+ return {
114
+ status: 'failed',
115
+ reason: 'state-mismatch'
116
+ };
117
+ case 'closed':
118
+ return {
119
+ status: 'cancelled'
120
+ };
121
+ case 'timed-out':
122
+ return {
123
+ status: 'timed-out'
124
+ };
125
+ case 'unsupported':
126
+ return {
127
+ status: 'unsupported',
128
+ reason: 'no-browser'
129
+ };
130
+ }
131
+ } finally {
132
+ // Covers throws after open (prepare/exchange/commit) and every settled outcome.
133
+ closeOAuthPopup(popup);
134
+ }
135
+ }
136
+
137
+ /**
138
+ * Full-page hand-off to the IdP. The document is destroyed by the navigation, so
139
+ * the handshake MUST reach `sessionStorage` first — without it the return trip
140
+ * cannot validate `state`, and starting the redirect anyway would strand the
141
+ * user at a callback that can only refuse them.
142
+ */
143
+ async function startRedirectSignIn(context, options, via) {
144
+ // Narrowed by the caller; repeated here so this helper is safe on its own.
145
+ if (!context.clientId) return {
146
+ status: 'unsupported',
147
+ reason: 'missing-client-id'
148
+ };
149
+ const prepared = await prepareAuthorizeRequest({
150
+ clientId: context.clientId,
151
+ redirectUri: options.redirectUri,
152
+ authorizeBaseUrl: context.authorizeBaseUrl,
153
+ scope: options.scope
154
+ });
155
+ if (!persistOAuthHandshake(prepared.handshake.state, prepared.handshake.codeVerifier, options.redirectUri)) {
156
+ return {
157
+ status: 'failed',
158
+ reason: 'handshake-storage'
159
+ };
160
+ }
161
+ redirectToAuthorize(prepared.authorizeUrl);
162
+ return {
163
+ status: 'redirecting',
164
+ via
165
+ };
166
+ }
167
+ //# sourceMappingURL=browserAuthTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["logger","persistOAuthHandshake","redirectToAuthorize","isWebBrowser","completeOAuthCode","prepareAuthorizeRequest","awaitOAuthPopupResult","closeOAuthPopup","navigateOAuthPopup","openOAuthPopup","startWebOAuthSignIn","context","options","popup","status","reason","identityBound","clientId","mode","undefined","startRedirectSignIn","warn","component","prepared","redirectUri","authorizeBaseUrl","scope","responseMode","authorizeUrl","outcome","expectedOrigin","authorizeOrigin","expectedState","handshake","state","timeoutMs","kind","completion","oxyServices","code","returnedState","commitSession","ok","description","errorDescription","error","via","codeVerifier"],"sourceRoot":"../../../../src","sources":["ui/oauth/browserAuthTransport.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The ONE path from an OAuth authorization code to a committed session.
5
+ *
6
+ * Both web transports end here — the popup with an in-memory handshake, the
7
+ * redirect lane with one read back from `sessionStorage` — so state validation,
8
+ * the PKCE exchange, the session commit, and handshake cleanup exist exactly
9
+ * once. Duplicating any of those per transport is how the two lanes would drift
10
+ * apart on the security-critical steps.
11
+ *
12
+ * Ordering is deliberate and load-bearing:
13
+ * 1. validate `state` BEFORE anything is sent to the token endpoint,
14
+ * 2. exchange the code for a session,
15
+ * 3. run `cleanup` (drop the persisted handshake / strip `?code=` from the
16
+ * URL) BEFORE the commit, so a stale code can never re-enter the exchange,
17
+ * 4. commit the session.
18
+ *
19
+ * `cleanup` runs exactly once on EVERY exit path, including a state mismatch
20
+ * and a failed exchange.
21
+ */
22
+
23
+ import { logger } from '@oxyhq/core';
24
+
25
+ /** Inputs for {@link completeOAuthCode}. */
26
+
27
+ export async function completeOAuthCode(input) {
28
+ let cleaned = false;
29
+ const runCleanup = () => {
30
+ if (cleaned) return;
31
+ cleaned = true;
32
+ input.cleanup?.();
33
+ };
34
+ if (!input.handshake || !input.returnedState || input.handshake.state !== input.returnedState) {
35
+ logger.warn('OAuth completion rejected: missing or mismatched state', {
36
+ component: 'completeOAuthCode'
37
+ });
38
+ runCleanup();
39
+ return {
40
+ ok: false,
41
+ reason: 'state-mismatch'
42
+ };
43
+ }
44
+ try {
45
+ const result = await input.oxyServices.exchangeOAuthCode({
46
+ code: input.code,
47
+ clientId: input.clientId,
48
+ redirectUri: input.redirectUri,
49
+ codeVerifier: input.handshake.codeVerifier
50
+ });
51
+ runCleanup();
52
+ await input.commitSession({
53
+ sessionId: result.sessionId,
54
+ accessToken: result.accessToken,
55
+ deviceId: result.deviceId,
56
+ deviceSecret: result.deviceSecret,
57
+ userId: result.user.id,
58
+ expiresAt: result.expiresAt,
59
+ user: result.user
60
+ });
61
+ return {
62
+ ok: true
63
+ };
64
+ } catch (error) {
65
+ logger.warn('OAuth code exchange failed', {
66
+ component: 'completeOAuthCode'
67
+ }, error);
68
+ runCleanup();
69
+ return {
70
+ ok: false,
71
+ reason: 'exchange-failed'
72
+ };
73
+ }
74
+ }
75
+ //# sourceMappingURL=completeOAuthCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["logger","completeOAuthCode","input","cleaned","runCleanup","cleanup","handshake","returnedState","state","warn","component","ok","reason","result","oxyServices","exchangeOAuthCode","code","clientId","redirectUri","codeVerifier","commitSession","sessionId","accessToken","deviceId","deviceSecret","userId","user","id","expiresAt","error"],"sourceRoot":"../../../../src","sources":["ui/oauth/completeOAuthCode.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,MAAM,QAAQ,aAAa;;AAGpC;;AA2BA,OAAO,eAAeC,iBAAiBA,CACrCC,KAA6B,EACG;EAChC,IAAIC,OAAO,GAAG,KAAK;EACnB,MAAMC,UAAU,GAAGA,CAAA,KAAY;IAC7B,IAAID,OAAO,EAAE;IACbA,OAAO,GAAG,IAAI;IACdD,KAAK,CAACG,OAAO,GAAG,CAAC;EACnB,CAAC;EAED,IAAI,CAACH,KAAK,CAACI,SAAS,IAAI,CAACJ,KAAK,CAACK,aAAa,IAAIL,KAAK,CAACI,SAAS,CAACE,KAAK,KAAKN,KAAK,CAACK,aAAa,EAAE;IAC7FP,MAAM,CAACS,IAAI,CAAC,wDAAwD,EAAE;MACpEC,SAAS,EAAE;IACb,CAAC,CAAC;IACFN,UAAU,CAAC,CAAC;IACZ,OAAO;MAAEO,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAiB,CAAC;EAChD;EAEA,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMX,KAAK,CAACY,WAAW,CAACC,iBAAiB,CAAC;MACvDC,IAAI,EAAEd,KAAK,CAACc,IAAI;MAChBC,QAAQ,EAAEf,KAAK,CAACe,QAAQ;MACxBC,WAAW,EAAEhB,KAAK,CAACgB,WAAW;MAC9BC,YAAY,EAAEjB,KAAK,CAACI,SAAS,CAACa;IAChC,CAAC,CAAC;IACFf,UAAU,CAAC,CAAC;IACZ,MAAMF,KAAK,CAACkB,aAAa,CAAC;MACxBC,SAAS,EAAER,MAAM,CAACQ,SAAS;MAC3BC,WAAW,EAAET,MAAM,CAACS,WAAW;MAC/BC,QAAQ,EAAEV,MAAM,CAACU,QAAQ;MACzBC,YAAY,EAAEX,MAAM,CAACW,YAAY;MACjCC,MAAM,EAAEZ,MAAM,CAACa,IAAI,CAACC,EAAE;MACtBC,SAAS,EAAEf,MAAM,CAACe,SAAS;MAC3BF,IAAI,EAAEb,MAAM,CAACa;IACf,CAAC,CAAC;IACF,OAAO;MAAEf,EAAE,EAAE;IAAK,CAAC;EACrB,CAAC,CAAC,OAAOkB,KAAK,EAAE;IACd7B,MAAM,CAACS,IAAI,CAAC,4BAA4B,EAAE;MAAEC,SAAS,EAAE;IAAoB,CAAC,EAAEmB,KAAK,CAAC;IACpFzB,UAAU,CAAC,CAAC;IACZ,OAAO;MAAEO,EAAE,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAkB,CAAC;EACjD;AACF","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The legacy, redirect-mode-only lanes that navigate the RP's TOP-LEVEL window
5
+ * to the IdP without a user gesture.
6
+ *
7
+ * `webAuthMode: 'popup'` exists to guarantee exactly one thing: the relying
8
+ * party never leaves its route. Two mechanics in this SDK break that guarantee,
9
+ * because each replaces the whole document on its own initiative:
10
+ *
11
+ * 1. **Cold-boot silent restore** — a full-page `prompt=none` authorize bounce
12
+ * to `auth.oxy.so` when the device-secret mint finds no local session
13
+ * (`maybeStartSilentOAuthRestore`, called from `runProviderColdBoot`).
14
+ * 2. **Post-sign-in hub sync** — a full-page hop to `auth.oxy.so/sync` that
15
+ * plants this device's credential on the IdP hub so OTHER origins can later
16
+ * run lane 1 (`syncHubAfterSignIn`, called from the `commitSession` funnel).
17
+ *
18
+ * Both belong to the redirect transport and are kept only for the migration
19
+ * window (issue #691, "Cold boot and cross-domain behavior"). In popup mode a
20
+ * domain with no local credential simply resolves SIGNED OUT, and the user's
21
+ * next explicit "Continue with Oxy" opens the popup — from a real user gesture,
22
+ * never automatically.
23
+ *
24
+ * NOT covered here, and correctly enabled in BOTH modes: navigations the user
25
+ * asked for. When the browser blocks the popup, `startWebOAuthSignIn` still
26
+ * falls back to a full-page redirect rather than dead-ending the sign-in, and
27
+ * `tryCompleteOAuthReturn` still consumes a `?code=` that is already on the URL.
28
+ *
29
+ * PHASE 7b: once the pilot flips the default transport to `'popup'`, this
30
+ * predicate and BOTH lanes above are deleted outright. Grepping this symbol
31
+ * finds every site that has to go.
32
+ */
33
+
34
+ /**
35
+ * Whether a provider running `webAuthMode` may perform an SDK-initiated,
36
+ * non-gesture, full-page navigation to the IdP.
37
+ *
38
+ * `true` only for `'redirect'` — still the default and the compatibility path,
39
+ * whose behaviour must stay byte-for-byte unchanged.
40
+ */
41
+ export function allowsAutomaticIdpRedirect(webAuthMode) {
42
+ return webAuthMode === 'redirect';
43
+ }
44
+ //# sourceMappingURL=legacyRedirectLanes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["allowsAutomaticIdpRedirect","webAuthMode"],"sourceRoot":"../../../../src","sources":["ui/oauth/legacyRedirectLanes.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,0BAA0BA,CAACC,WAAwB,EAAW;EAC5E,OAAOA,WAAW,KAAK,UAAU;AACnC","ignoreList":[]}